diff --git a/cranelift/wasm/src/code_translator.rs b/cranelift/wasm/src/code_translator.rs index e16b187cb5..e155594093 100644 --- a/cranelift/wasm/src/code_translator.rs +++ b/cranelift/wasm/src/code_translator.rs @@ -1189,6 +1189,10 @@ pub fn translate_operator( let (a, b) = pop2_with_bitcast(state, type_of(op), builder); state.push1(builder.ins().imul(a, b)) } + Operator::V128AndNot => { + let (a, b) = pop2_with_bitcast(state, type_of(op), builder); + state.push1(builder.ins().band_not(a, b)) + } Operator::V128Not => { let a = state.pop1(); state.push1(builder.ins().bnot(a)); @@ -1370,8 +1374,7 @@ pub fn translate_operator( | Operator::I64x2Load32x2S { .. } | Operator::I64x2Load32x2U { .. } | Operator::I8x16RoundingAverageU { .. } - | Operator::I16x8RoundingAverageU { .. } - | Operator::V128AndNot { .. } => { + | Operator::I16x8RoundingAverageU { .. } => { return Err(wasm_unsupported!("proposed SIMD operator {:?}", op)); } };