diff --git a/cranelift/codegen/src/postopt.rs b/cranelift/codegen/src/postopt.rs index 9e2179982d..3e27c90a39 100644 --- a/cranelift/codegen/src/postopt.rs +++ b/cranelift/codegen/src/postopt.rs @@ -271,6 +271,42 @@ fn optimize_complex_addresses(pos: &mut EncCursor, inst: Inst, isa: &dyn TargetI .replace(inst) .sload32_complex(info.flags, &args, info.offset); } + Opcode::Uload8x8 => { + pos.func + .dfg + .replace(inst) + .uload8x8_complex(info.flags, &args, info.offset); + } + Opcode::Sload8x8 => { + pos.func + .dfg + .replace(inst) + .sload8x8_complex(info.flags, &args, info.offset); + } + Opcode::Uload16x4 => { + pos.func + .dfg + .replace(inst) + .uload16x4_complex(info.flags, &args, info.offset); + } + Opcode::Sload16x4 => { + pos.func + .dfg + .replace(inst) + .sload16x4_complex(info.flags, &args, info.offset); + } + Opcode::Uload32x2 => { + pos.func + .dfg + .replace(inst) + .uload32x2_complex(info.flags, &args, info.offset); + } + Opcode::Sload32x2 => { + pos.func + .dfg + .replace(inst) + .sload32x2_complex(info.flags, &args, info.offset); + } Opcode::Store => { pos.func.dfg.replace(inst).store_complex( info.flags, diff --git a/tests/all/wast.rs b/tests/all/wast.rs index 8bfa5ee353..a95cebe2a0 100644 --- a/tests/all/wast.rs +++ b/tests/all/wast.rs @@ -1,5 +1,5 @@ use std::path::Path; -use wasmtime::{Config, Engine, OptLevel, Store, Strategy}; +use wasmtime::{Config, Engine, Store, Strategy}; use wasmtime_wast::WastContext; include!(concat!(env!("OUT_DIR"), "/wast_testsuite_tests.rs")); @@ -28,11 +28,6 @@ fn run_wast(wast: &str, strategy: Strategy) -> anyhow::Result<()> { .strategy(strategy)? .cranelift_debug_verifier(true); - // FIXME: https://github.com/bytecodealliance/wasmtime/issues/1186 - if simd { - cfg.cranelift_opt_level(OptLevel::None); - } - let store = Store::new(&Engine::new(&cfg)); let mut wast_context = WastContext::new(store); wast_context.register_spectest()?;