INNER CODE UNIT · C
q
pq-crystals/dilithium · avx2/poly.c:42
const __m256i q = _mm256_load_si256(&qdata.vec[_8XQ/8]);
const __m256i off = _mm256_set1_epi32(1<<22);
DBENCH_START();
for(i = 0; i < N/8; i++) {
f = _mm256_load_si256(&a->vec[i]);
g = _mm256_add_epi32(f,off);
g = _mm256_srai_epi32(g,23);
g = _mm256_mullo_epi32(g,q);
f = _mm256_sub_epi32(f,g);
_mm256_store_si256(&a->vec[i],f);
}
DBENCH_STOP(*tred);
}
/*************************************************
* Name: poly_addq