Skip to content

Commit a435943

Browse files
committed
Use avr-gcc's bitshift implementations
rust-lang/rust#82242 (comment)
1 parent 23a74de commit a435943

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/int/shift.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,46 +70,55 @@ impl Lshr for u128 {}
7070

7171
intrinsics! {
7272
#[maybe_use_optimized_c_shim]
73+
#[avr_skip]
7374
pub extern "C" fn __ashlsi3(a: u32, b: u32) -> u32 {
7475
a.ashl(b)
7576
}
7677

7778
#[maybe_use_optimized_c_shim]
7879
#[arm_aeabi_alias = __aeabi_llsl]
80+
#[avr_skip]
7981
pub extern "C" fn __ashldi3(a: u64, b: u32) -> u64 {
8082
a.ashl(b)
8183
}
8284

85+
#[avr_skip]
8386
pub extern "C" fn __ashlti3(a: u128, b: u32) -> u128 {
8487
a.ashl(b)
8588
}
8689

8790
#[maybe_use_optimized_c_shim]
91+
#[avr_skip]
8892
pub extern "C" fn __ashrsi3(a: i32, b: u32) -> i32 {
8993
a.ashr(b)
9094
}
9195

9296
#[maybe_use_optimized_c_shim]
9397
#[arm_aeabi_alias = __aeabi_lasr]
98+
#[avr_skip]
9499
pub extern "C" fn __ashrdi3(a: i64, b: u32) -> i64 {
95100
a.ashr(b)
96101
}
97102

103+
#[avr_skip]
98104
pub extern "C" fn __ashrti3(a: i128, b: u32) -> i128 {
99105
a.ashr(b)
100106
}
101107

102108
#[maybe_use_optimized_c_shim]
109+
#[avr_skip]
103110
pub extern "C" fn __lshrsi3(a: u32, b: u32) -> u32 {
104111
a.lshr(b)
105112
}
106113

107114
#[maybe_use_optimized_c_shim]
108115
#[arm_aeabi_alias = __aeabi_llsr]
116+
#[avr_skip]
109117
pub extern "C" fn __lshrdi3(a: u64, b: u32) -> u64 {
110118
a.lshr(b)
111119
}
112120

121+
#[avr_skip]
113122
pub extern "C" fn __lshrti3(a: u128, b: u32) -> u128 {
114123
a.lshr(b)
115124
}

0 commit comments

Comments
 (0)