diff --git a/cranelift/wasm/src/code_translator.rs b/cranelift/wasm/src/code_translator.rs index f4bdc601bb..709d40894f 100644 --- a/cranelift/wasm/src/code_translator.rs +++ b/cranelift/wasm/src/code_translator.rs @@ -1154,6 +1154,13 @@ pub fn translate_operator( let bool_result = builder.ins().vany_true(state.pop1()); state.push1(builder.ins().bint(I32, bool_result)) } + Operator::I8x16AllTrue + | Operator::I16x8AllTrue + | Operator::I32x4AllTrue + | Operator::I64x2AllTrue => { + let bool_result = builder.ins().vall_true(state.pop1()); + state.push1(builder.ins().bint(I32, bool_result)) + } Operator::I8x16Eq | Operator::I8x16Ne | Operator::I8x16LtS @@ -1196,14 +1203,10 @@ pub fn translate_operator( | Operator::F64x2Gt | Operator::F64x2Le | Operator::F64x2Ge - | Operator::I8x16AllTrue | Operator::I8x16Shl | Operator::I8x16ShrS | Operator::I8x16ShrU | Operator::I8x16Mul - | Operator::I16x8AllTrue - | Operator::I32x4AllTrue - | Operator::I64x2AllTrue | Operator::I64x2ShrS | Operator::F32x4Abs | Operator::F32x4Neg