avx512/src/f11_260.c
// Produce a 64-bit residue
Produce a 64-bit residue
Produce a 64 - bit residue
void widen(
  residue_wide_t *result, const residue_narrow_t * __restrict x) {
  __m256i wide10 = loadu_extend_32_64((__m128i *) x);
  __m512i wide3 = loadu512_extend_32_64((__m256i *) &x[4]);
  _mm256_store_si256((__m256i*) &result->limbs[0], wide10);
  _mm512_storeu_si512((__m512i*) &result->limbs[4], wide3);
}
void widen ( residue_wide_t * result , const residue_narrow_t * __restrict x ) { __m256i wide10 = loadu_extend_32_64 ( ( __m128i * ) x ) ; __m512i wide3 = loadu512_extend_32_64 ( ( __m256i * ) & x [ 4 ] ) ; _mm256_store_si256 ( ( __m256i * ) & result -> limbs [ 0 ] , wide10 ) ; _mm512_storeu_si512 ( ( __m512i * ) & result -> limbs [ 4 ] , wide3 ) ; }
Produce a 64-bit residue
Produce a 64 - bit residue