[llvm] [LLVM] Add `llvm.masked.compress` intrinsic (PR #92289)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 24 05:25:33 PDT 2024
================
@@ -7507,6 +7507,22 @@ SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
if (N1.getValueType() == VT)
return N1;
break;
+ case ISD::MASKED_COMPRESS: {
+ EVT VecVT = N1.getValueType();
+ [[maybe_unused]] EVT MaskVT = N2.getValueType();
+ [[maybe_unused]] EVT PassthruVT = N3.getValueType();
+ assert(VT == VecVT && "Vector and result type don't match.");
+ assert(VecVT.isVector() && MaskVT.isVector() && PassthruVT.isVector() &&
+ "All inputs must be vectors.");
+ assert(VecVT == PassthruVT && "Vector and passthru types don't match.");
+ assert(VecVT.getVectorElementCount() == MaskVT.getVectorElementCount() &&
+ "Vector and mask must have same number of elements.");
+
+ if (N1.isUndef() || N2.isUndef())
+ return getUNDEF(VecVT);
----------------
RKSimon wrote:
`return N3;`
https://github.com/llvm/llvm-project/pull/92289
More information about the llvm-commits
mailing list