[][src]Function safe_arch::mul_extended_u32

#[must_use]pub fn mul_extended_u32(a: u32, b: u32, extra: &mut u32) -> u32
This is supported with target feature bmi2 only.

Multiply two u32, outputting the low bits and storing the high bits in the reference.

This does not read or write arithmetic flags.

let mut x = 0_u32;
assert_eq!(mul_extended_u32(u32::MAX, 17, &mut x), 4294967279);
assert_eq!(x, 16);