[llvm] Add 3 way compare <=> integer intrinsics to Langref (PR #83227)
Miguel Raz Guzmán Macedo via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 11 09:48:09 PDT 2024
================
@@ -5235,6 +5235,25 @@ void Verifier::visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call) {
}
break;
}
+ case Intrinsic::ucmp:
+ case Intrinsic::scmp: {
+
+ Type *SrcTy = Call.getOperand(0)->getType();
+ Type *DestTy = Call.getType();
+
+ Check(SrcTy->isIntOrIntVectorTy(), "[u]scmp only operates on integers", Call);
+ Check(DestTy->isIntOrIntVectorTy(), "[u]scmp only produces integers", Call);
+ Check(DestTy->getScalarSizeInBits() >= 2, "DestTy must be at least 2 bits wide", Call);
+
+ auto isDestTypeVector = DestTy->isVectorTy();
+ if (isDestTypeVector) {
+ Check(SrcTy->isVectorTy() == isDestTypeVector,
+ "[u]scmp source and destination must both be a vector or neither", Call);
----------------
miguelraz wrote:
Done.
https://github.com/llvm/llvm-project/pull/83227
More information about the llvm-commits
mailing list