Skip to content

[GlobalISel][AArch64] Legalize G_INSERT_VECTOR_ELT for SVE #114310

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 31, 2024

Conversation

tschuett
Copy link

There are patterns for:

  • {nxv2s32, s32, s64},
  • {nxv4s16, s16, s64},
  • {nxv2s16, s16, s64}

There are patterns for:
* {nxv2s32, s32, s64},
* {nxv4s16, s16, s64},
* {nxv2s16, s16, s64}
@llvmbot
Copy link
Member

llvmbot commented Oct 30, 2024

@llvm/pr-subscribers-llvm-globalisel

@llvm/pr-subscribers-backend-aarch64

Author: Thorsten Schütt (tschuett)

Changes

There are patterns for:

  • {nxv2s32, s32, s64},
  • {nxv4s16, s16, s64},
  • {nxv2s16, s16, s64}

Patch is 34.58 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/114310.diff

5 Files Affected:

  • (modified) llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h (+20)
  • (modified) llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp (+11)
  • (modified) llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp (+4)
  • (modified) llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp (+43-8)
  • (added) llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir (+423)
diff --git a/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h b/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
index 6d71c150c8da6b..6811b37767cb21 100644
--- a/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
+++ b/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
@@ -273,6 +273,11 @@ inline LegalityPredicate typeIsNot(unsigned TypeIdx, LLT Type) {
 LegalityPredicate
 typePairInSet(unsigned TypeIdx0, unsigned TypeIdx1,
               std::initializer_list<std::pair<LLT, LLT>> TypesInit);
+/// True iff the given types for the given tuple of type indexes is one of the
+/// specified type tuple.
+LegalityPredicate
+typeTupleInSet(unsigned TypeIdx0, unsigned TypeIdx1, unsigned TypeIdx2,
+               std::initializer_list<std::tuple<LLT, LLT, LLT>> TypesInit);
 /// True iff the given types for the given pair of type indexes is one of the
 /// specified type pairs.
 LegalityPredicate typePairAndMemDescInSet(
@@ -504,6 +509,15 @@ class LegalizeRuleSet {
     using namespace LegalityPredicates;
     return actionIf(Action, typePairInSet(typeIdx(0), typeIdx(1), Types));
   }
+
+  LegalizeRuleSet &
+  actionFor(LegalizeAction Action,
+            std::initializer_list<std::tuple<LLT, LLT, LLT>> Types) {
+    using namespace LegalityPredicates;
+    return actionIf(Action,
+                    typeTupleInSet(typeIdx(0), typeIdx(1), typeIdx(2), Types));
+  }
+
   /// Use the given action when type indexes 0 and 1 is any type pair in the
   /// given list.
   /// Action should be an action that requires mutation.
@@ -615,6 +629,12 @@ class LegalizeRuleSet {
       return *this;
     return actionFor(LegalizeAction::Legal, Types);
   }
+  LegalizeRuleSet &
+  legalFor(bool Pred, std::initializer_list<std::tuple<LLT, LLT, LLT>> Types) {
+    if (!Pred)
+      return *this;
+    return actionFor(LegalizeAction::Legal, Types);
+  }
   /// The instruction is legal when type index 0 is any type in the given list
   /// and imm index 0 is anything.
   LegalizeRuleSet &legalForTypeWithAnyImm(std::initializer_list<LLT> Types) {
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp b/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
index 8fe48195c610be..dc7ed6cbe8b7da 100644
--- a/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
@@ -49,6 +49,17 @@ LegalityPredicate LegalityPredicates::typePairInSet(
   };
 }
 
+LegalityPredicate LegalityPredicates::typeTupleInSet(
+    unsigned TypeIdx0, unsigned TypeIdx1, unsigned TypeIdx2,
+    std::initializer_list<std::tuple<LLT, LLT, LLT>> TypesInit) {
+  SmallVector<std::tuple<LLT, LLT, LLT>, 4> Types = TypesInit;
+  return [=](const LegalityQuery &Query) {
+    std::tuple<LLT, LLT, LLT> Match = {
+        Query.Types[TypeIdx0], Query.Types[TypeIdx1], Query.Types[TypeIdx2]};
+    return llvm::is_contained(Types, Match);
+  };
+}
+
 LegalityPredicate LegalityPredicates::typePairAndMemDescInSet(
     unsigned TypeIdx0, unsigned TypeIdx1, unsigned MMOIdx,
     std::initializer_list<TypePairAndMemDesc> TypesAndMemDescInit) {
diff --git a/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp b/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
index 6024027afaf6ce..7beda0e92a75bc 100644
--- a/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
+++ b/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
@@ -978,6 +978,10 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
   getActionDefinitionsBuilder(G_INSERT_VECTOR_ELT)
       .legalIf(
           typeInSet(0, {v16s8, v8s8, v8s16, v4s16, v4s32, v2s32, v2s64, v2p0}))
+      .legalFor(HasSVE, {{nxv16s8, s32, s64},
+                         {nxv8s16, s32, s64},
+                         {nxv4s32, s32, s64},
+                         {nxv2s64, s64, s64}})
       .moreElementsToNextPow2(0)
       .widenVectorEltsToVectorMinSize(0, 64)
       .clampNumElements(0, v8s8, v16s8)
diff --git a/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp b/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
index b40fe55fdfaf67..0bf0a4bf27c44d 100644
--- a/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
+++ b/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
@@ -161,6 +161,8 @@ bool matchREV(MachineInstr &MI, MachineRegisterInfo &MRI,
   Register Dst = MI.getOperand(0).getReg();
   Register Src = MI.getOperand(1).getReg();
   LLT Ty = MRI.getType(Dst);
+  if (Ty.isScalableVector())
+    return false;
   unsigned EltSize = Ty.getScalarSizeInBits();
 
   // Element size for a rev cannot be 64.
@@ -196,7 +198,10 @@ bool matchTRN(MachineInstr &MI, MachineRegisterInfo &MRI,
   unsigned WhichResult;
   ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask();
   Register Dst = MI.getOperand(0).getReg();
-  unsigned NumElts = MRI.getType(Dst).getNumElements();
+  LLT DstTy = MRI.getType(Dst);
+  if (DstTy.isScalableVector())
+    return false;
+  unsigned NumElts = DstTy.getNumElements();
   if (!isTRNMask(ShuffleMask, NumElts, WhichResult))
     return false;
   unsigned Opc = (WhichResult == 0) ? AArch64::G_TRN1 : AArch64::G_TRN2;
@@ -217,7 +222,10 @@ bool matchUZP(MachineInstr &MI, MachineRegisterInfo &MRI,
   unsigned WhichResult;
   ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask();
   Register Dst = MI.getOperand(0).getReg();
-  unsigned NumElts = MRI.getType(Dst).getNumElements();
+  LLT DstTy = MRI.getType(Dst);
+  if (DstTy.isScalableVector())
+    return false;
+  unsigned NumElts = DstTy.getNumElements();
   if (!isUZPMask(ShuffleMask, NumElts, WhichResult))
     return false;
   unsigned Opc = (WhichResult == 0) ? AArch64::G_UZP1 : AArch64::G_UZP2;
@@ -233,7 +241,10 @@ bool matchZip(MachineInstr &MI, MachineRegisterInfo &MRI,
   unsigned WhichResult;
   ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask();
   Register Dst = MI.getOperand(0).getReg();
-  unsigned NumElts = MRI.getType(Dst).getNumElements();
+  LLT DstTy = MRI.getType(Dst);
+  if (DstTy.isScalableVector())
+    return false;
+  unsigned NumElts = DstTy.getNumElements();
   if (!isZIPMask(ShuffleMask, NumElts, WhichResult))
     return false;
   unsigned Opc = (WhichResult == 0) ? AArch64::G_ZIP1 : AArch64::G_ZIP2;
@@ -288,7 +299,10 @@ bool matchDupFromBuildVector(int Lane, MachineInstr &MI,
                              MachineRegisterInfo &MRI,
                              ShuffleVectorPseudo &MatchInfo) {
   assert(Lane >= 0 && "Expected positive lane?");
-  int NumElements = MRI.getType(MI.getOperand(1).getReg()).getNumElements();
+  LLT Op1Ty = MRI.getType(MI.getOperand(1).getReg());
+  if (Op1Ty.isScalableVector())
+    return false;
+  int NumElements = Op1Ty.getNumElements();
   // Test if the LHS is a BUILD_VECTOR. If it is, then we can just reference the
   // lane's definition directly.
   auto *BuildVecMI =
@@ -326,6 +340,8 @@ bool matchDup(MachineInstr &MI, MachineRegisterInfo &MRI,
 // Check if an EXT instruction can handle the shuffle mask when the vector
 // sources of the shuffle are the same.
 bool isSingletonExtMask(ArrayRef<int> M, LLT Ty) {
+  if (Ty.isScalableVector())
+    return false;
   unsigned NumElts = Ty.getNumElements();
 
   // Assume that the first shuffle index is not UNDEF.  Fail if it is.
@@ -357,12 +373,17 @@ bool matchEXT(MachineInstr &MI, MachineRegisterInfo &MRI,
   assert(MI.getOpcode() == TargetOpcode::G_SHUFFLE_VECTOR);
   Register Dst = MI.getOperand(0).getReg();
   LLT DstTy = MRI.getType(Dst);
+  if (DstTy.isScalableVector())
+    return false;
   Register V1 = MI.getOperand(1).getReg();
   Register V2 = MI.getOperand(2).getReg();
   auto Mask = MI.getOperand(3).getShuffleMask();
   uint64_t Imm;
   auto ExtInfo = getExtMask(Mask, DstTy.getNumElements());
-  uint64_t ExtFactor = MRI.getType(V1).getScalarSizeInBits() / 8;
+  LLT V1Ty = MRI.getType(V1);
+  if (V1Ty.isScalableVector())
+    return false;
+  uint64_t ExtFactor = V1Ty.getScalarSizeInBits() / 8;
 
   if (!ExtInfo) {
     if (!getOpcodeDef<GImplicitDef>(V2, MRI) ||
@@ -423,6 +444,8 @@ void applyNonConstInsert(MachineInstr &MI, MachineRegisterInfo &MRI,
 
   Register Offset = Insert.getIndexReg();
   LLT VecTy = MRI.getType(Insert.getReg(0));
+  if (VecTy.isScalableVector())
+    return;
   LLT EltTy = MRI.getType(Insert.getElementReg());
   LLT IdxTy = MRI.getType(Insert.getIndexReg());
 
@@ -473,7 +496,10 @@ bool matchINS(MachineInstr &MI, MachineRegisterInfo &MRI,
   assert(MI.getOpcode() == TargetOpcode::G_SHUFFLE_VECTOR);
   ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask();
   Register Dst = MI.getOperand(0).getReg();
-  int NumElts = MRI.getType(Dst).getNumElements();
+  LLT DstTy = MRI.getType(Dst);
+  if (DstTy.isScalableVector())
+    return false;
+  int NumElts = DstTy.getNumElements();
   auto DstIsLeftAndDstLane = isINSMask(ShuffleMask, NumElts);
   if (!DstIsLeftAndDstLane)
     return false;
@@ -522,6 +548,8 @@ bool isVShiftRImm(Register Reg, MachineRegisterInfo &MRI, LLT Ty,
   if (!Cst)
     return false;
   Cnt = *Cst;
+  if (Ty.isScalableVector())
+    return false;
   int64_t ElementBits = Ty.getScalarSizeInBits();
   return Cnt >= 1 && Cnt <= ElementBits;
 }
@@ -698,6 +726,8 @@ bool matchDupLane(MachineInstr &MI, MachineRegisterInfo &MRI,
   Register Src1Reg = MI.getOperand(1).getReg();
   const LLT SrcTy = MRI.getType(Src1Reg);
   const LLT DstTy = MRI.getType(MI.getOperand(0).getReg());
+  if (SrcTy.isScalableVector())
+    return false;
 
   auto LaneIdx = getSplatIndex(MI);
   if (!LaneIdx)
@@ -774,6 +804,8 @@ bool matchScalarizeVectorUnmerge(MachineInstr &MI, MachineRegisterInfo &MRI) {
   auto &Unmerge = cast<GUnmerge>(MI);
   Register Src1Reg = Unmerge.getReg(Unmerge.getNumOperands() - 1);
   const LLT SrcTy = MRI.getType(Src1Reg);
+  if (SrcTy.isScalableVector())
+    return false;
   if (SrcTy.getSizeInBits() != 128 && SrcTy.getSizeInBits() != 64)
     return false;
   return SrcTy.isVector() && !SrcTy.isScalable() &&
@@ -987,7 +1019,10 @@ bool matchLowerVectorFCMP(MachineInstr &MI, MachineRegisterInfo &MRI,
   if (!DstTy.isVector() || !ST.hasNEON())
     return false;
   Register LHS = MI.getOperand(2).getReg();
-  unsigned EltSize = MRI.getType(LHS).getScalarSizeInBits();
+  LLT LHSTy = MRI.getType(LHS);
+  if (LHSTy.isScalableVector())
+    return false;
+  unsigned EltSize = LHSTy.getScalarSizeInBits();
   if (EltSize == 16 && !ST.hasFullFP16())
     return false;
   if (EltSize != 16 && EltSize != 32 && EltSize != 64)
@@ -1183,7 +1218,7 @@ bool matchExtMulToMULL(MachineInstr &MI, MachineRegisterInfo &MRI) {
   MachineInstr *I1 = getDefIgnoringCopies(MI.getOperand(1).getReg(), MRI);
   MachineInstr *I2 = getDefIgnoringCopies(MI.getOperand(2).getReg(), MRI);
 
-  if (DstTy.isVector()) {
+  if (DstTy.isFixedVector()) {
     // If the source operands were EXTENDED before, then {U/S}MULL can be used
     unsigned I1Opc = I1->getOpcode();
     unsigned I2Opc = I2->getOpcode();
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir b/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir
new file mode 100644
index 00000000000000..6d24478cbfb3d7
--- /dev/null
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir
@@ -0,0 +1,423 @@
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
+# RUN: llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-SELECT
+# RUN: llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=regbankselect %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-REGBANK
+# RUN: llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -run-pass=legalizer  %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-LEGAL
+
+---
+name:            test_insert_vector_elt_nxv_16_s8_idx_0
+body:             |
+  bb.1:
+    ; CHECK-SELECT-LABEL: name: test_insert_vector_elt_nxv_16_s8_idx_0
+    ; CHECK-SELECT: %vec:zpr = COPY $z0
+    ; CHECK-SELECT-NEXT: %elt:gpr32sp = COPY $w0
+    ; CHECK-SELECT-NEXT: %idx:gpr64 = COPY $xzr
+    ; CHECK-SELECT-NEXT: [[COPY:%[0-9]+]]:gpr32common = COPY %idx.sub_32
+    ; CHECK-SELECT-NEXT: [[DUP_ZR_B:%[0-9]+]]:zpr = DUP_ZR_B [[COPY]]
+    ; CHECK-SELECT-NEXT: [[INDEX_II_B:%[0-9]+]]:zpr = INDEX_II_B 0, 1, implicit $vg
+    ; CHECK-SELECT-NEXT: [[PTRUE_B:%[0-9]+]]:ppr_3b = PTRUE_B 31, implicit $vg
+    ; CHECK-SELECT-NEXT: [[CMPEQ_PPzZZ_B:%[0-9]+]]:ppr_3b = CMPEQ_PPzZZ_B [[PTRUE_B]], [[INDEX_II_B]], [[DUP_ZR_B]], implicit-def dead $nzcv
+    ; CHECK-SELECT-NEXT: %result:zpr = CPY_ZPmR_B %vec, [[CMPEQ_PPzZZ_B]], %elt
+    ; CHECK-SELECT-NEXT: $z0 = COPY %result
+    ;
+    ; CHECK-REGBANK-LABEL: name: test_insert_vector_elt_nxv_16_s8_idx_0
+    ; CHECK-REGBANK: %vec:fpr(<vscale x 16 x s8>) = COPY $z0
+    ; CHECK-REGBANK-NEXT: %elt:gpr(s32) = COPY $w0
+    ; CHECK-REGBANK-NEXT: %idx:gpr(s64) = G_CONSTANT i64 0
+    ; CHECK-REGBANK-NEXT: %result:fpr(<vscale x 16 x s8>) = G_INSERT_VECTOR_ELT %vec, %elt(s32), %idx(s64)
+    ; CHECK-REGBANK-NEXT: $z0 = COPY %result(<vscale x 16 x s8>)
+    ;
+    ; CHECK-LEGAL-LABEL: name: test_insert_vector_elt_nxv_16_s8_idx_0
+    ; CHECK-LEGAL: %vec:_(<vscale x 16 x s8>) = COPY $z0
+    ; CHECK-LEGAL-NEXT: %elt:_(s32) = COPY $w0
+    ; CHECK-LEGAL-NEXT: %idx:_(s64) = G_CONSTANT i64 0
+    ; CHECK-LEGAL-NEXT: %result:_(<vscale x 16 x s8>) = G_INSERT_VECTOR_ELT %vec, %elt(s32), %idx(s64)
+    ; CHECK-LEGAL-NEXT: $z0 = COPY %result(<vscale x 16 x s8>)
+    %vec:_(<vscale x 16 x s8>) = COPY $z0
+    %elt:_(s32) = COPY $w0
+    %idx:_(s64) = G_CONSTANT i64 0
+    %result:_(<vscale x 16 x s8>) = G_INSERT_VECTOR_ELT %vec(<vscale x 16 x s8>), %elt(s32), %idx(s64)
+    $z0 = COPY %result(<vscale x 16 x s8>)
+...
+---
+name:            test_insert_vector_elt_nxv_16_s8_constant
+body:             |
+  bb.1:
+    ; CHECK-SELECT-LABEL: name: test_insert_vector_elt_nxv_16_s8_constant
+    ; CHECK-SELECT: %vec:zpr = COPY $z0
+    ; CHECK-SELECT-NEXT: %elt:gpr32common = MOVi32imm 5
+    ; CHECK-SELECT-NEXT: %idx:gpr64 = COPY $x0
+    ; CHECK-SELECT-NEXT: [[COPY:%[0-9]+]]:gpr32common = COPY %idx.sub_32
+    ; CHECK-SELECT-NEXT: [[DUP_ZR_B:%[0-9]+]]:zpr = DUP_ZR_B [[COPY]]
+    ; CHECK-SELECT-NEXT: [[INDEX_II_B:%[0-9]+]]:zpr = INDEX_II_B 0, 1, implicit $vg
+    ; CHECK-SELECT-NEXT: [[PTRUE_B:%[0-9]+]]:ppr_3b = PTRUE_B 31, implicit $vg
+    ; CHECK-SELECT-NEXT: [[CMPEQ_PPzZZ_B:%[0-9]+]]:ppr_3b = CMPEQ_PPzZZ_B [[PTRUE_B]], [[INDEX_II_B]], [[DUP_ZR_B]], implicit-def dead $nzcv
+    ; CHECK-SELECT-NEXT: %result:zpr = CPY_ZPmR_B %vec, [[CMPEQ_PPzZZ_B]], %elt
+    ; CHECK-SELECT-NEXT: $z0 = COPY %result
+    ;
+    ; CHECK-REGBANK-LABEL: name: test_insert_vector_elt_nxv_16_s8_constant
+    ; CHECK-REGBANK: %vec:fpr(<vscale x 16 x s8>) = COPY $z0
+    ; CHECK-REGBANK-NEXT: %elt:gpr(s32) = G_CONSTANT i32 5
+    ; CHECK-REGBANK-NEXT: %idx:gpr(s64) = COPY $x0
+    ; CHECK-REGBANK-NEXT: %result:fpr(<vscale x 16 x s8>) = G_INSERT_VECTOR_ELT %vec, %elt(s32), %idx(s64)
+    ; CHECK-REGBANK-NEXT: $z0 = COPY %result(<vscale x 16 x s8>)
+    ;
+    ; CHECK-LEGAL-LABEL: name: test_insert_vector_elt_nxv_16_s8_constant
+    ; CHECK-LEGAL: %vec:_(<vscale x 16 x s8>) = COPY $z0
+    ; CHECK-LEGAL-NEXT: %elt:_(s32) = G_CONSTANT i32 5
+    ; CHECK-LEGAL-NEXT: %idx:_(s64) = COPY $x0
+    ; CHECK-LEGAL-NEXT: %result:_(<vscale x 16 x s8>) = G_INSERT_VECTOR_ELT %vec, %elt(s32), %idx(s64)
+    ; CHECK-LEGAL-NEXT: $z0 = COPY %result(<vscale x 16 x s8>)
+    %vec:_(<vscale x 16 x s8>) = COPY $z0
+    %elt:_(s32) = G_CONSTANT i32 5
+    %idx:_(s64) = COPY $x0
+    %result:_(<vscale x 16 x s8>) = G_INSERT_VECTOR_ELT %vec(<vscale x 16 x s8>), %elt(s32), %idx(s64)
+    $z0 = COPY %result(<vscale x 16 x s8>)
+...
+---
+name:            test_insert_vector_elt_nxv_16_s8
+body:             |
+  bb.1:
+    ; CHECK-SELECT-LABEL: name: test_insert_vector_elt_nxv_16_s8
+    ; CHECK-SELECT: %vec:zpr = COPY $z0
+    ; CHECK-SELECT-NEXT: %elt:gpr32sp = COPY $w0
+    ; CHECK-SELECT-NEXT: %idx:gpr64 = COPY $x0
+    ; CHECK-SELECT-NEXT: [[COPY:%[0-9]+]]:gpr32common = COPY %idx.sub_32
+    ; CHECK-SELECT-NEXT: [[DUP_ZR_B:%[0-9]+]]:zpr = DUP_ZR_B [[COPY]]
+    ; CHECK-SELECT-NEXT: [[INDEX_II_B:%[0-9]+]]:zpr = INDEX_II_B 0, 1, implicit $vg
+    ; CHECK-SELECT-NEXT: [[PTRUE_B:%[0-9]+]]:ppr_3b = PTRUE_B 31, implicit $vg
+    ; CHECK-SELECT-NEXT: [[CMPEQ_PPzZZ_B:%[0-9]+]]:ppr_3b = CMPEQ_PPzZZ_B [[PTRUE_B]], [[INDEX_II_B]], [[DUP_ZR_B]], implicit-def dead $nzcv
+    ; CHECK-SELECT-NEXT: %result:zpr = CPY_ZPmR_B %vec, [[CMPEQ_PPzZZ_B]], %elt
+    ; CHECK-SELECT-NEXT: $z0 = COPY %result
+    ;
+    ; CHECK-REGBANK-LABEL: name: test_insert_vector_elt_nxv_16_s8
+    ; CHECK-REGBANK: %vec:fpr(<vscale x 16 x s8>) = COPY $z0
+    ; CHECK-REGBANK-NEXT: %elt:gpr(s32) = COPY $w0
+    ; CHECK-REGBANK-NEXT: %idx:gpr(s64) = COPY $x0
+    ; CHECK-REGBANK-NEXT: %result:fpr(<vscale x 16 x s8>) = G_INSERT_VECTOR_ELT %vec, %elt(s32), %idx(s64)
+    ; CHECK-REGBANK-NEXT: $z0 = COPY %result(<vscale x 16 x s8>)
+    ;
+    ; CHECK-LEGAL-LABEL: name: test_insert_vector_elt_nxv_16_s8
+    ; CHECK-LEGAL: %vec:_(<vscale x 16 x s8>) = COPY $z0
+    ; CHECK-LEGAL-NEXT: %elt:_(s32) = COPY $w0
+    ; CHECK-LEGAL-NEXT: %idx:_(s64) = COPY $x0
+    ; CHECK-LEGAL-NEXT: %result:_(<vscale x 16 x s8>) = G_INSERT_VECTOR_ELT %vec, %elt(s32), %idx(s64)
+    ; CHECK-LEGAL-NEXT: $z0 = COPY %result(<vscale x 16 x s8>)
+    %vec:_(<vscale x 16 x s8>) = COPY $z0
+    %elt:_(s32) = COPY $w0
+    %idx:_(s64) = COPY $x0
+    %result:_(<vscale x 16 x s8>) = G_INSERT_VECTOR_ELT %vec(<vscale x 16 x s8>), %elt(s32), %idx(s64)
+    $z0 = COPY %result(<vscale x 16 x s8>)
+...
+---
+name:            test_insert_vector_elt_nxv_8_s16_idx_0
+body:             |
+  bb.1:
+    ; CHECK-SELECT-LABEL: name: test_insert_vector_elt_nxv_8_s16_idx_0
+    ; CHECK-SELECT: %vec:zpr = COPY $z0
+    ; CHECK-SELECT-NEXT: %elt:gpr32sp = COPY $w0
+    ; CHECK-SELECT-NEXT: %idx:gpr64 = COPY $xzr
+    ; CHECK-SELECT-NEXT: [[COPY:%[0-9]+]]:gpr32common = COPY %idx.sub_32
+    ; CHECK-SELECT-NEXT: [[DUP_ZR_H:%[0-9]+]]:zpr = DUP_ZR_H [[COPY]]
+    ; CHECK-SELECT-NEXT: [[INDEX_II_H:%[0-9]+]]:zpr = INDEX_II_H 0, 1, implicit $vg
+    ; CHECK-SELECT-NEXT: [[PTRUE_H:%[0-9]+]]:ppr_3b = PTRUE_H 31, implicit $vg
+    ; CHECK-SELECT-NEXT: [[CMPEQ_PPzZZ_H:%[0-9]+]]:ppr_3b = CMPEQ_PPzZZ_H [[PTRUE_H]], [[INDEX_II_H]], [[DUP_ZR_H]], implicit-def dead $nzcv
+    ; CHECK-SELECT-NEXT: %result:zpr = CPY_ZPmR_H %vec, [[CMPEQ_PPzZZ_H]], %elt
+    ; CHECK-SELECT-NEXT: $z0 = COPY %result
+    ;
+    ; CHECK-REGBANK-LABEL: name: test_insert_vector_elt_nxv_8_s16_idx_0
+    ; CHECK-REGBANK: %vec:fpr(<vscale x 8 x s16>) = COPY $z0
+    ; CHECK-REGBANK-NEXT: %elt:gpr(s32) = COPY $w0
+    ; CHECK-REGBANK-NEXT: %idx:gpr(s64) = G_CONSTANT i64 0
+    ; CHECK-REGBANK-NEXT: %result:fpr(<vscale x 8 x s16>) = G_INSERT_VECTOR_ELT %vec, %elt(s32), %idx(s64)
+    ; CHECK-REGBANK-NEXT: $z0 = COPY %result(<vscale x 8 x s16>)
+    ;
+    ; CHECK-LEGAL-LABEL: name: test_insert_vector_elt_nxv_8_s16_idx_0
+    ; CHECK-LEGAL: %vec:_(<vscale x 8 x s16>) = COPY $z0
+    ; CHECK-LEGAL-NEXT: %elt:_(s32) = COPY $w0
+    ; CHECK-LEGAL-NEXT: %idx:_(s64) = G_CONSTANT i64 0
+    ; CHECK-LEGAL-NEXT: %result:_(<vscale x 8 x s16>) = G_INSERT_VECTOR_ELT %vec, %elt(s32), %idx(s64)
+    ; CHECK-LEGAL-NEXT: $z0 = COPY %result(<vscale x 8 x s16>)
+    %vec:_(<vscale x 8 x s16>) = COPY $z0
+    %elt:_(s32) = COPY $w0
+    %idx:_(s64) = G_CONSTANT i64 0
+    %result:_(<vscale x 8 x s16>) = G_INSERT_VECTOR_ELT %vec(<vscale x 8 x s16>), %elt(s32), %idx(s64)
+    $z0 = COPY %result(<vscale x 8 x s16>)
+...
+---
+name:            test_insert_vector_elt_nxv_8_s16_constant
+body:             |
+  bb.1:
+    ; CHECK-SELECT-LABEL: name: test_insert_vector_elt_nxv_8_s16_constant
+    ; CHECK-SELECT: %vec:zpr = COPY $z0
+    ; CHECK-SELECT-NEXT: %elt:gpr32common = MOVi32imm 5
+    ; CHECK-SELECT-NEXT: %idx:gpr64 = COPY $x0
+    ; CHECK-SELECT-NEXT: [[COPY:%[0-9]+]]:gpr32common = COPY %idx.sub_32
+    ; CHECK-SELECT-NEXT: [[DUP_ZR_H:%[0-9]+]]:zpr = DUP_ZR_H [[COPY]]
+    ; CHECK-SELECT-NEXT: [[INDEX_II_H:%[0-9]+]]:zpr = INDEX_II_H 0, 1, implicit $vg
+    ; CHECK-SELECT-NEXT: [[PTRUE_H:%[0-9]+]]:ppr_3b = PTRUE_H 31, implicit $vg
+    ; CHECK-SELECT-NEXT: [[CMPEQ_PPzZZ_H:%[0-...
[truncated]

Comment on lines +276 to +279
/// True iff the given types for the given tuple of type indexes is one of the
/// specified type tuple.
LegalityPredicate
typeTupleInSet(unsigned TypeIdx0, unsigned TypeIdx1, unsigned TypeIdx2,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the future could consider being fancy and using variadic templates

@@ -161,6 +161,8 @@ bool matchREV(MachineInstr &MI, MachineRegisterInfo &MRI,
Register Dst = MI.getOperand(0).getReg();
Register Src = MI.getOperand(1).getReg();
LLT Ty = MRI.getType(Dst);
if (Ty.isScalableVector())
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these needed? I don't believe there should be any shuffles on scalable types.

I think that goes for most of the changes in this file. Are the all speculative changes in reality are not necessary?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I got asserts and went over almost all of them. The stack trace did not tell me where the crash was.

@tschuett tschuett merged commit 6bf214b into llvm:main Oct 31, 2024
8 of 11 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder clang-aarch64-quick running on linaro-clang-aarch64-quick while building llvm at step 5 "ninja check 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/65/builds/6961

Here is the relevant piece of the build log for the reference
Step 5 (ninja check 1) failure: stage 1 checked (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /home/tcwg-buildbot/worker/clang-aarch64-quick/llvm/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-quick/llvm/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-quick/llvm/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /home/tcwg-buildbot/worker/clang-aarch64-quick/llvm/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
error: no check strings found with prefix 'CHECK:'

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder llvm-clang-aarch64-darwin running on doug-worker-4 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/190/builds/8556

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/FileCheck /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
+ /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/FileCheck /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder ml-opt-dev-x86-64 running on ml-opt-dev-x86-64-b1 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/137/builds/7780

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /b/ml-opt-dev-x86-64-b1/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /b/ml-opt-dev-x86-64-b1/build/bin/FileCheck /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /b/ml-opt-dev-x86-64-b1/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
+ /b/ml-opt-dev-x86-64-b1/build/bin/FileCheck /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder ml-opt-rel-x86-64 running on ml-opt-rel-x86-64-b1 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/185/builds/7668

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /b/ml-opt-rel-x86-64-b1/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /b/ml-opt-rel-x86-64-b1/build/bin/FileCheck /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /b/ml-opt-rel-x86-64-b1/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
+ /b/ml-opt-rel-x86-64-b1/build/bin/FileCheck /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder ml-opt-devrel-x86-64 running on ml-opt-devrel-x86-64-b1 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/175/builds/7682

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /b/ml-opt-devrel-x86-64-b1/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /b/ml-opt-devrel-x86-64-b1/build/bin/FileCheck /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /b/ml-opt-devrel-x86-64-b1/build/bin/FileCheck /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'
+ /b/ml-opt-devrel-x86-64-b1/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-gcc-ubuntu running on sie-linux-worker3 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/174/builds/7637

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder fuchsia-x86_64-linux running on fuchsia-debian-64-us-central1-a-1 while building llvm at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/11/builds/7404

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
[1333/1338] Building CXX object unittests/Transforms/Scalar/CMakeFiles/ScalarTests.dir/LoopPassManagerTest.cpp.o
clang++: warning: optimization flag '-ffat-lto-objects' is not supported [-Wignored-optimization-argument]
[1334/1338] Linking CXX executable unittests/Transforms/Scalar/ScalarTests
[1334/1338] Running the LLVM regression tests
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/wasm-ld
-- Testing: 56550 tests, 60 workers --
Testing:  0
FAIL: LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir (2669 of 56550)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
********************
Failed Tests (1):
  LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir


Testing Time: 75.01s

Total Discovered Tests: 62410
  Skipped          :    35 (0.06%)
  Unsupported      : 17047 (27.31%)
  Passed           : 45261 (72.52%)
  Expectedly Failed:    66 (0.11%)
  Failed           :     1 (0.00%)
[1335/1338] Building CXX object tools/clang/unittests/Tooling/CMakeFiles/ToolingTests.dir/SourceCodeTest.cpp.o
clang++: warning: optimization flag '-ffat-lto-objects' is not supported [-Wignored-optimization-argument]
[1336/1338] Linking CXX executable tools/clang/unittests/Tooling/ToolingTests
FAILED: test/CMakeFiles/check-llvm /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/test/CMakeFiles/check-llvm 
cd /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/test && /usr/bin/python3.10 /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/./bin/llvm-lit -sv /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/test
ninja: build stopped: subcommand failed.
['ninja', '-C', '/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo', 'check-llvm', 'check-clang', 'check-lld'] exited with return code 1.
@@@STEP_FAILURE@@@
Step 7 (check) failure: check (failure)
...
[1333/1338] Building CXX object unittests/Transforms/Scalar/CMakeFiles/ScalarTests.dir/LoopPassManagerTest.cpp.o
clang++: warning: optimization flag '-ffat-lto-objects' is not supported [-Wignored-optimization-argument]
[1334/1338] Linking CXX executable unittests/Transforms/Scalar/ScalarTests
[1334/1338] Running the LLVM regression tests
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/wasm-ld
-- Testing: 56550 tests, 60 workers --
Testing:  0
FAIL: LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir (2669 of 56550)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
********************
Failed Tests (1):
  LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir


Testing Time: 75.01s

Total Discovered Tests: 62410
  Skipped          :    35 (0.06%)
  Unsupported      : 17047 (27.31%)
  Passed           : 45261 (72.52%)
  Expectedly Failed:    66 (0.11%)
  Failed           :     1 (0.00%)
[1335/1338] Building CXX object tools/clang/unittests/Tooling/CMakeFiles/ToolingTests.dir/SourceCodeTest.cpp.o
clang++: warning: optimization flag '-ffat-lto-objects' is not supported [-Wignored-optimization-argument]
[1336/1338] Linking CXX executable tools/clang/unittests/Tooling/ToolingTests
FAILED: test/CMakeFiles/check-llvm /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/test/CMakeFiles/check-llvm 
cd /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/test && /usr/bin/python3.10 /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/./bin/llvm-lit -sv /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo/test
ninja: build stopped: subcommand failed.
['ninja', '-C', '/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-h7ampbdo', 'check-llvm', 'check-clang', 'check-lld'] exited with return code 1.
program finished with exit code 0
elapsedTime=1039.686861

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder clang-debian-cpp20 running on clang-debian-cpp20 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/108/builds/5386

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/FileCheck /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
+ /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/FileCheck /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder premerge-monolithic-windows running on premerge-windows-1 while building llvm at step 8 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/35/builds/3205

Here is the relevant piece of the build log for the reference
Step 8 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\ws\buildbot\premerge-monolithic-windows\build\bin\llc.exe -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select C:\ws\buildbot\premerge-monolithic-windows\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-vector-insert-elt.mir -o - | c:\ws\buildbot\premerge-monolithic-windows\build\bin\filecheck.exe C:\ws\buildbot\premerge-monolithic-windows\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
# executed command: 'c:\ws\buildbot\premerge-monolithic-windows\build\bin\llc.exe' -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select 'C:\ws\buildbot\premerge-monolithic-windows\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-vector-insert-elt.mir' -o -
# .---command stdout------------
# | --- |
# |   ; ModuleID = 'C:\ws\buildbot\premerge-monolithic-windows\llvm-project\llvm\test\CodeGen\AArch64\GlobalISel\legalize-vector-insert-elt.mir'
# |   source_filename = "C:\\ws\\buildbot\\premerge-monolithic-windows\\llvm-project\\llvm\\test\\CodeGen\\AArch64\\GlobalISel\\legalize-vector-insert-elt.mir"
# |   target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
# |   target triple = "aarch64-apple-ios"
# |   
# |   define void @test_insert_vector_elt_nxv_16_s8_idx_0() #0 {
# |   entry:
# |     unreachable
# |   }
# |   
# |   define void @test_insert_vector_elt_nxv_16_s8_constant() #0 {
# |   entry:
# |     unreachable
# |   }
# |   
# |   define void @test_insert_vector_elt_nxv_16_s8() #0 {
# |   entry:
# |     unreachable
# |   }
# |   
# |   define void @test_insert_vector_elt_nxv_8_s16_idx_0() #0 {
# |   entry:
# |     unreachable
# |   }
# |   
# |   define void @test_insert_vector_elt_nxv_8_s16_constant() #0 {
# |   entry:
# |     unreachable
# |   }
# |   
# |   define void @test_insert_vector_elt_nxv_8_s16() #0 {
# |   entry:
# |     unreachable
# |   }
# |   
# |   define void @test_insert_vector_elt_nxv_4_s32_idx_0() #0 {
# |   entry:
# |     unreachable
# |   }
# |   
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder lld-x86_64-ubuntu-fast running on as-builder-4 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/33/builds/5614

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
+ /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder premerge-monolithic-linux running on premerge-linux-1 while building llvm at step 7 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/13251

Here is the relevant piece of the build log for the reference
Step 7 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /build/buildbot/premerge-monolithic-linux/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /build/buildbot/premerge-monolithic-linux/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
+ /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder clang-x86_64-debian-fast running on gribozavr4 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/56/builds/11068

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /b/1/clang-x86_64-debian-fast/llvm.obj/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/1/clang-x86_64-debian-fast/llvm.src/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /b/1/clang-x86_64-debian-fast/llvm.obj/bin/FileCheck /b/1/clang-x86_64-debian-fast/llvm.src/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /b/1/clang-x86_64-debian-fast/llvm.obj/bin/FileCheck /b/1/clang-x86_64-debian-fast/llvm.src/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /b/1/clang-x86_64-debian-fast/llvm.obj/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/1/clang-x86_64-debian-fast/llvm.src/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
error: no check strings found with prefix 'CHECK:'

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder llvm-x86_64-debian-dylib running on gribozavr4 while building llvm at step 7 "test-build-unified-tree-check-llvm".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/60/builds/11495

Here is the relevant piece of the build log for the reference
Step 7 (test-build-unified-tree-check-llvm) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /b/1/llvm-x86_64-debian-dylib/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /b/1/llvm-x86_64-debian-dylib/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
+ /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 31, 2024

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-expensive-checks-debian running on gribozavr4 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/16/builds/8007

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o - | /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -O0 -mtriple=aarch64-apple-ios -mattr=+sve -aarch64-enable-gisel-sve=1 -global-isel -start-before=legalizer -stop-after=instruction-select /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir -o -
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir --check-prefixes=CHECK,CHECK-SELECT
error: no check strings found with prefix 'CHECK:'

--

********************


smallp-o-p pushed a commit to smallp-o-p/llvm-project that referenced this pull request Nov 3, 2024
There are patterns for:
* {nxv2s32, s32, s64},
* {nxv4s16, s16, s64},
* {nxv2s16, s16, s64}
smallp-o-p pushed a commit to smallp-o-p/llvm-project that referenced this pull request Nov 3, 2024
NoumanAmir657 pushed a commit to NoumanAmir657/llvm-project that referenced this pull request Nov 4, 2024
There are patterns for:
* {nxv2s32, s32, s64},
* {nxv4s16, s16, s64},
* {nxv2s16, s16, s64}
NoumanAmir657 pushed a commit to NoumanAmir657/llvm-project that referenced this pull request Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants