Skip to main content

my512_mulhi_epu32

Function my512_mulhi_epu32 

Source
unsafe fn my512_mulhi_epu32(a: __m512i, b: __m512i) -> __m512i
Examples found in repository?
crates/competitive/src/num/mint/montgomery.rs (line 336)
330    pub unsafe fn montgomery_mul_512(
331        a: __m512i,
332        b: __m512i,
333        r_vec: __m512i,
334        mod_vec: __m512i,
335    ) -> __m512i {
336        let hi = my512_mulhi_epu32(a, b);
337        let lo = my512_mullo_epu32(a, b);
338        let lo = my512_mullo_epu32(lo, r_vec);
339        let lo = my512_mulhi_epu32(lo, mod_vec);
340        _mm512_sub_epi32(_mm512_add_epi32(hi, mod_vec), lo)
341    }