Cranelift: ensure ISA level needed for SIMD is present when SIMD is enabled. (#3816)
Addresses #3809: when we are asked to create a Cranelift backend with shared flags that indicate support for SIMD, we should check that the ISA level needed for our SIMD lowerings is present.
This commit is contained in:
@@ -11,7 +11,9 @@ use cranelift_object::*;
|
||||
fn error_on_incompatible_sig_in_declare_function() {
|
||||
let flag_builder = settings::builder();
|
||||
let isa_builder = cranelift_codegen::isa::lookup_by_name("x86_64-unknown-linux-gnu").unwrap();
|
||||
let isa = isa_builder.finish(settings::Flags::new(flag_builder));
|
||||
let isa = isa_builder
|
||||
.finish(settings::Flags::new(flag_builder))
|
||||
.unwrap();
|
||||
let mut module =
|
||||
ObjectModule::new(ObjectBuilder::new(isa, "foo", default_libcall_names()).unwrap());
|
||||
let mut sig = Signature {
|
||||
@@ -60,7 +62,9 @@ fn define_simple_function(module: &mut ObjectModule) -> FuncId {
|
||||
fn panic_on_define_after_finalize() {
|
||||
let flag_builder = settings::builder();
|
||||
let isa_builder = cranelift_codegen::isa::lookup_by_name("x86_64-unknown-linux-gnu").unwrap();
|
||||
let isa = isa_builder.finish(settings::Flags::new(flag_builder));
|
||||
let isa = isa_builder
|
||||
.finish(settings::Flags::new(flag_builder))
|
||||
.unwrap();
|
||||
let mut module =
|
||||
ObjectModule::new(ObjectBuilder::new(isa, "foo", default_libcall_names()).unwrap());
|
||||
|
||||
@@ -145,7 +149,9 @@ fn switch_error() {
|
||||
fn libcall_function() {
|
||||
let flag_builder = settings::builder();
|
||||
let isa_builder = cranelift_codegen::isa::lookup_by_name("x86_64-unknown-linux-gnu").unwrap();
|
||||
let isa = isa_builder.finish(settings::Flags::new(flag_builder));
|
||||
let isa = isa_builder
|
||||
.finish(settings::Flags::new(flag_builder))
|
||||
.unwrap();
|
||||
let mut module =
|
||||
ObjectModule::new(ObjectBuilder::new(isa, "foo", default_libcall_names()).unwrap());
|
||||
|
||||
@@ -199,7 +205,9 @@ fn libcall_function() {
|
||||
fn reject_nul_byte_symbol_for_func() {
|
||||
let flag_builder = settings::builder();
|
||||
let isa_builder = cranelift_codegen::isa::lookup_by_name("x86_64-unknown-linux-gnu").unwrap();
|
||||
let isa = isa_builder.finish(settings::Flags::new(flag_builder));
|
||||
let isa = isa_builder
|
||||
.finish(settings::Flags::new(flag_builder))
|
||||
.unwrap();
|
||||
let mut module =
|
||||
ObjectModule::new(ObjectBuilder::new(isa, "foo", default_libcall_names()).unwrap());
|
||||
|
||||
@@ -221,7 +229,9 @@ fn reject_nul_byte_symbol_for_func() {
|
||||
fn reject_nul_byte_symbol_for_data() {
|
||||
let flag_builder = settings::builder();
|
||||
let isa_builder = cranelift_codegen::isa::lookup_by_name("x86_64-unknown-linux-gnu").unwrap();
|
||||
let isa = isa_builder.finish(settings::Flags::new(flag_builder));
|
||||
let isa = isa_builder
|
||||
.finish(settings::Flags::new(flag_builder))
|
||||
.unwrap();
|
||||
let mut module =
|
||||
ObjectModule::new(ObjectBuilder::new(isa, "foo", default_libcall_names()).unwrap());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user