Put arm32 backend behind experimental_arm32 flag

This commit is contained in:
Jakub Krauz
2020-09-22 12:46:29 +02:00
parent f6a140a662
commit bab3c73100
12 changed files with 35 additions and 13 deletions

View File

@@ -1,5 +1,6 @@
test compile
target arm
feature "experimental_arm32"
function %iadd(i8, i8) -> i8 {
block0(v0: i8, v1: i8):

View File

@@ -1,5 +1,6 @@
test compile
target arm
feature "experimental_arm32"
function %bitrev_i8(i8) -> i8 {
block0(v0: i8):

View File

@@ -1,5 +1,6 @@
test compile
target arm
feature "experimental_arm32"
function %icmp(i32, i32) -> b1 {
block0(v0: i32, v1: i32):

View File

@@ -1,5 +1,6 @@
test compile
target arm
feature "experimental_arm32"
function %b1() -> b1 {
block0:

View File

@@ -1,5 +1,6 @@
test compile
target arm
feature "experimental_arm32"
function %brnz(b1) -> i32 {
block0(v0: b1):

View File

@@ -1,5 +1,6 @@
test compile
target arm
feature "experimental_arm32"
function %uextend_i8_i32(i8) -> i32 {
block0(v0: i8):

View File

@@ -1,5 +1,6 @@
test compile
target arm
feature "experimental_arm32"
function %args(i32) -> i32 {
sig0 = (i32, i32, i32, i32) -> i32

View File

@@ -1,5 +1,6 @@
test compile
target arm
feature "experimental_arm32"
function %ishl_i8(i8, i8) -> i8 {
block0(v0: i8, v1: i8):

View File

@@ -9,7 +9,7 @@ use cranelift_codegen::print_errors::pretty_verifier_error;
use cranelift_codegen::settings::Flags;
use cranelift_codegen::timing;
use cranelift_codegen::verify_function;
use cranelift_reader::{parse_test, IsaSpec, ParseOptions};
use cranelift_reader::{parse_test, Feature, IsaSpec, ParseOptions};
use log::info;
use std::borrow::Cow;
use std::fs;
@@ -51,6 +51,15 @@ pub fn run(
}
};
#[cfg(not(feature = "experimental_arm32"))]
if testfile
.features
.contains(&Feature::With("experimental_arm32"))
{
println!("skipped {:?}: no experimental_arm32 feature", path);
return Ok(started.elapsed());
}
if testfile.functions.is_empty() {
anyhow::bail!("no functions found");
}