]> git.lizzy.rs Git - rust.git/blob - src/tools/miri/tests/pass/intrinsics-x86.rs
Auto merge of #104915 - weihanglo:update-cargo, r=ehuss
[rust.git] / src / tools / miri / tests / pass / intrinsics-x86.rs
1 #[cfg(target_arch = "x86_64")]
2 mod x86_64 {
3     use core::arch::x86_64 as arch;
4
5     fn adc(c_in: u8, a: u64, b: u64) -> (u8, u64) {
6         let mut sum = 0;
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) };
10         (c_out, sum)
11     }
12
13     pub fn main() {
14         assert_eq!(adc(1, 1, 1), (0, 3));
15         assert_eq!(adc(3, u64::MAX, u64::MAX), (2, 1));
16     }
17 }
18
19 fn main() {
20     #[cfg(target_arch = "x86_64")]
21     x86_64::main();
22 }