@@ -6,13 +6,13 @@ extern "unadjusted" {
6
6
#[ link_name = "llvm.x86.addcarry.64" ]
7
7
fn llvm_addcarry_u64 ( a : u8 , b : u64 , c : u64 ) -> ( u8 , u64 ) ;
8
8
#[ link_name = "llvm.x86.addcarryx.u64" ]
9
- fn llvm_addcarryx_u64 ( a : u8 , b : u64 , c : u64 , d : * mut u8 ) -> u8 ;
9
+ fn llvm_addcarryx_u64 ( a : u8 , b : u64 , c : u64 , d : * mut u64 ) -> u8 ;
10
10
#[ link_name = "llvm.x86.subborrow.64" ]
11
11
fn llvm_subborrow_u64 ( a : u8 , b : u64 , c : u64 ) -> ( u8 , u64 ) ;
12
12
}
13
13
14
14
/// Adds unsigned 64-bit integers `a` and `b` with unsigned 8-bit carry-in `c_in`
15
- /// (carry flag), and store the unsigned 64-bit result in `out`, and the carry-out
15
+ /// (carry or overflow flag), and store the unsigned 64-bit result in `out`, and the carry-out
16
16
/// is returned (carry or overflow flag).
17
17
#[ inline]
18
18
#[ cfg_attr( test, assert_instr( adc) ) ]
@@ -31,7 +31,7 @@ pub unsafe fn _addcarry_u64(c_in: u8, a: u64, b: u64, out: &mut u64) -> u8 {
31
31
#[ cfg_attr( test, assert_instr( adc) ) ]
32
32
#[ stable( feature = "simd_x86_adx" , since = "1.33.0" ) ]
33
33
pub unsafe fn _addcarryx_u64 ( c_in : u8 , a : u64 , b : u64 , out : & mut u64 ) -> u8 {
34
- llvm_addcarryx_u64 ( c_in, a, b, out as * mut _ as * mut u8 )
34
+ llvm_addcarryx_u64 ( c_in, a, b, out as * mut _ )
35
35
}
36
36
37
37
/// Adds unsigned 64-bit integers `a` and `b` with unsigned 8-bit carry-in `c_in`.
0 commit comments