Skip to content

Commit 4baa36e

Browse files
committed
rv32 rv64: adapt conditional compilation
Adapt conditional compilation as: rv32i : riscv:__mulsi3, riscv:__muldi3 rv32im: riscv:__mulsi3, int/mul:__muldi3 rv64i : riscv:__mulsi3, riscv:__muldi3 rv64im: riscv:__mulsi3, int/mul:__muldi3
1 parent b945767 commit 4baa36e

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

src/int/mul.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ impl_signed_mulo!(i128_overflowing_mul, i128, u128);
100100
intrinsics! {
101101
#[maybe_use_optimized_c_shim]
102102
#[arm_aeabi_alias = __aeabi_lmul]
103-
#[cfg(not(target_arch = "riscv64"))]
103+
#[cfg(any(not(any(target_arch = "riscv32", target_arch = "riscv64")), target_feature = "m"))]
104104
pub extern "C" fn __muldi3(a: u64, b: u64) -> u64 {
105105
a.mul(b)
106106
}

src/riscv.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
intrinsics! {
22
// Implementation from gcc
33
// https://raw.githubusercontent.com/gcc-mirror/gcc/master/libgcc/config/epiphany/mulsi3.c
4-
#[cfg(target_arch = "riscv32")]
54
pub extern "C" fn __mulsi3(a: u32, b: u32) -> u32 {
65
let (mut a, mut b) = (a, b);
76
let mut r = 0;
@@ -17,7 +16,7 @@ intrinsics! {
1716
r
1817
}
1918

20-
#[cfg(target_arch = "riscv64")]
19+
#[cfg(not(target_feature = "m"))]
2120
pub extern "C" fn __muldi3(a: u64, b: u64) -> u64 {
2221
let (mut a, mut b) = (a, b);
2322
let mut r = 0;

0 commit comments

Comments
 (0)