[llvm] [SelectionDAG] Add support for the 3-way comparison intrinsics [US]CMP (PR #91871)

via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 8 16:02:00 PDT 2024


================
@@ -1327,6 +1368,21 @@ void DAGTypeLegalizer::SplitVecRes_TernaryOp(SDNode *N, SDValue &Lo,
                    {Op0Hi, Op1Hi, Op2Hi, MaskHi, EVLHi}, Flags);
 }
 
+void DAGTypeLegalizer::SplitVecRes_CMP(SDNode *N, SDValue &Lo, SDValue &Hi) {
+  LLVMContext &Ctxt = *DAG.getContext();
+  SDLoc dl(N);
+
+  SDValue LHS = N->getOperand(0);
+  SDValue RHS = N->getOperand(1);
+  EVT SplitResVT = N->getValueType(0).getHalfNumVectorElementsVT(Ctxt);
+
+  auto [LHSLo, LHSHi] = DAG.SplitVector(LHS, dl);
+  auto [RHSLo, RHSHi] = DAG.SplitVector(RHS, dl);
----------------
Poseydon42 wrote:

Fixed

https://github.com/llvm/llvm-project/pull/91871


More information about the llvm-commits mailing list