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
This commit is contained in:
Johannes Stoelp 2022-05-12 00:34:49 +02:00
parent 10971912e8
commit 65ec71d386
2 changed files with 2 additions and 3 deletions

View file

@ -100,7 +100,7 @@ impl_signed_mulo!(i128_overflowing_mul, i128, u128);
intrinsics! {
#[maybe_use_optimized_c_shim]
#[arm_aeabi_alias = __aeabi_lmul]
#[cfg(not(target_arch = "riscv64"))]
#[cfg(any(not(any(target_arch = "riscv32", target_arch = "riscv64")), target_feature = "m"))]
pub extern "C" fn __muldi3(a: u64, b: u64) -> u64 {
a.mul(b)
}

View file

@ -1,7 +1,6 @@
intrinsics! {
// Implementation from gcc
// https://raw.githubusercontent.com/gcc-mirror/gcc/master/libgcc/config/epiphany/mulsi3.c
#[cfg(target_arch = "riscv32")]
pub extern "C" fn __mulsi3(a: u32, b: u32) -> u32 {
let (mut a, mut b) = (a, b);
let mut r = 0;
@ -17,7 +16,7 @@ intrinsics! {
r
}
#[cfg(target_arch = "riscv64")]
#[cfg(not(target_feature = "m"))]
pub extern "C" fn __muldi3(a: u64, b: u64) -> u64 {
let (mut a, mut b) = (a, b);
let mut r = 0;