1 #[cfg(target_arch = "x86_64")]
3 use core::arch::x86_64 as arch;
5 fn adc(c_in: u8, a: u64, b: u64) -> (u8, u64) {
7 // SAFETY: There are no safety requirements for calling `_addcarry_u64`.
8 // It's just unsafe for API consistency with other intrinsics.
9 let c_out = unsafe { arch::_addcarry_u64(c_in, a, b, &mut sum) };
14 assert_eq!(adc(1, 1, 1), (0, 3));
15 assert_eq!(adc(3, u64::MAX, u64::MAX), (2, 1));
20 #[cfg(target_arch = "x86_64")]