diff --git a/cranelift/filetests/src/test_run.rs b/cranelift/filetests/src/test_run.rs index 3b03470c00..9af1a9622c 100644 --- a/cranelift/filetests/src/test_run.rs +++ b/cranelift/filetests/src/test_run.rs @@ -47,30 +47,6 @@ fn build_host_isa( builder.finish(flags).unwrap() } -fn is_riscv64_compatible( - host: target_lexicon::Riscv64Architecture, - req: target_lexicon::Riscv64Architecture, -) -> bool { - match host { - // Riscv64gc is short for RV64IMAFDCZicsr_Zifencei. - // So can run them all. - target_lexicon::Riscv64Architecture::Riscv64gc => true, - // Riscv64imac can run when req is not Riscv64gc. - target_lexicon::Riscv64Architecture::Riscv64imac - if req != target_lexicon::Riscv64Architecture::Riscv64gc => - { - true - } - // Riscv64 is just basic extension. - target_lexicon::Riscv64Architecture::Riscv64 - if req == target_lexicon::Riscv64Architecture::Riscv64 => - { - true - } - _ => false, - } -} - /// Checks if the host's ISA is compatible with the one requested by the test. fn is_isa_compatible( file_path: &str, @@ -85,8 +61,7 @@ fn is_isa_compatible( match (host_arch, requested_arch) { (host, requested) if host == requested => {} - (Architecture::Riscv64(host), Architecture::Riscv64(req)) - if is_riscv64_compatible(host, req) => {} + (Architecture::Riscv64(_), Architecture::Riscv64(_)) => {} _ => { return Err(format!( "skipped {}: host can't run {:?} programs", diff --git a/cranelift/native/Cargo.toml b/cranelift/native/Cargo.toml index 4979303d2e..920b7fead1 100644 --- a/cranelift/native/Cargo.toml +++ b/cranelift/native/Cargo.toml @@ -14,7 +14,7 @@ edition.workspace = true cranelift-codegen = { workspace = true, default-features = false } target-lexicon = { workspace = true } -[target.'cfg(target_arch = "s390x")'.dependencies] +[target.'cfg(any(target_arch = "s390x", target_arch = "riscv64"))'.dependencies] libc = "0.2.95" [features] diff --git a/cranelift/native/src/lib.rs b/cranelift/native/src/lib.rs index c9ca7a2882..8250b1e524 100644 --- a/cranelift/native/src/lib.rs +++ b/cranelift/native/src/lib.rs @@ -165,6 +165,58 @@ pub fn builder_with_options(infer_native_flags: bool) -> Result