unsafe fn my256_mulhi_epu32(a: __m256i, b: __m256i) -> __m256iExamples found in repository?
crates/competitive/src/num/mint/montgomery.rs (line 240)
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 }