Skip to main content

my256_mullo_epu32

Function my256_mullo_epu32 

Source
unsafe fn my256_mullo_epu32(a: __m256i, b: __m256i) -> __m256i
Examples found in repository?
crates/competitive/src/num/mint/montgomery.rs (line 241)
234    pub unsafe fn montgomery_mul_256(
235        a: __m256i,
236        b: __m256i,
237        r_vec: __m256i,
238        mod_vec: __m256i,
239    ) -> __m256i {
240        let hi = my256_mulhi_epu32(a, b);
241        let lo = my256_mullo_epu32(a, b);
242        let lo = my256_mullo_epu32(lo, r_vec);
243        let lo = my256_mulhi_epu32(lo, mod_vec);
244        _mm256_sub_epi32(_mm256_add_epi32(hi, mod_vec), lo)
245    }