diff options
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp index 4fd63e58c83..55c963b7b40 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp @@ -959,7 +959,13 @@ WebAssemblyTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, switch (IntNo) { default: return {}; // Don't custom lower most intrinsics. - + case Intrinsic::wasm_anytrue: + case Intrinsic::wasm_alltrue: { + unsigned OpCode = IntNo == Intrinsic::wasm_anytrue + ? WebAssemblyISD::ANYTRUE + : WebAssemblyISD::ALLTRUE; + return DAG.getNode(OpCode, DL, Op.getValueType(), Op.getOperand(1)); + } case Intrinsic::wasm_lsda: // TODO For now, just return 0 not to crash return DAG.getConstant(0, DL, Op.getValueType()); |