[llvm] [RISCV][GISel] Legalize G_INSERT_VECTOR_ELT for supported vector types (PR #159708)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 14 08:17:11 PDT 2025


================
@@ -717,6 +717,18 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
       .clampScalar(0, sXLen, sXLen)
       .lower();
 
+  LegalityPredicate InsertVectorEltPred = [=](const LegalityQuery &Query) {
+    LLT VecTy = Query.Types[0];
+    LLT EltTy = Query.Types[1];
+    return VecTy.getElementType() == EltTy;
+  };
+
+  getActionDefinitionsBuilder(G_INSERT_VECTOR_ELT)
+      .legalIf(all(typeIsLegalIntOrFPVec(0, IntOrFPVecTys, ST),
+                   InsertVectorEltPred, typeIs(2, sXLen)))
+      .legalIf(all(typeIsLegalIntOrFPVec(0, BoolVecTys, ST),
----------------
topperc wrote:

typeIsLegalBoolVec?

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


More information about the llvm-commits mailing list