[llvm] [AArch64] Add @llvm.experimental.vector.match (PR #101974)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 8 06:43:06 PST 2024
================
@@ -6154,6 +6154,31 @@ void Verifier::visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call) {
&Call);
break;
}
+ case Intrinsic::experimental_vector_match: {
+ Value *Op1 = Call.getArgOperand(0);
+ Value *Op2 = Call.getArgOperand(1);
+ Value *Mask = Call.getArgOperand(2);
+
+ VectorType *Op1Ty = dyn_cast<VectorType>(Op1->getType());
+ VectorType *Op2Ty = dyn_cast<VectorType>(Op2->getType());
+ VectorType *MaskTy = dyn_cast<VectorType>(Mask->getType());
+
+ Check(Op1Ty && Op2Ty && MaskTy, "Operands must be vectors.", &Call);
+ Check(!isa<ScalableVectorType>(Op2Ty), "Second operand cannot be scalable.",
+ &Call);
----------------
paulwalker-arm wrote:
```suggestion
Check(isa<FixedVectorType>(Op2Ty), "Second operand must be a fixed length vector.",
&Call);
```
https://github.com/llvm/llvm-project/pull/101974
More information about the llvm-commits
mailing list