Lines Matching defs:VT
172 EVT VT = N->getValueType(0);
175 if (!VT.is64BitVector() || !LVT.is128BitVector() ||
176 Index != VT.getVectorNumElements())
186 EVT VT = Op.getValueType();
188 if (ShtAmt > VT.getScalarSizeInBits() / 2 || Op.getOpcode() != ISD::ADD)
193 Imm = APInt(VT.getScalarSizeInBits(),
198 Imm = APInt(VT.getScalarSizeInBits(),
249 template<MVT::SimpleValueType VT>
251 return SelectSVEAddSubImm(N, VT, Imm, Shift);
254 template <MVT::SimpleValueType VT, bool Negate>
256 return SelectSVEAddSubSSatImm(N, VT, Imm, Shift, Negate);
259 template <MVT::SimpleValueType VT>
261 return SelectSVECpyDupImm(N, VT, Imm, Shift);
264 template <MVT::SimpleValueType VT, bool Invert = false>
266 return SelectSVELogicalImm(N, VT, Imm, Invert);
269 template <MVT::SimpleValueType VT>
271 return SelectSVEArithImm(N, VT, Imm);
492 bool SelectSVEAddSubImm(SDValue N, MVT VT, SDValue &Imm, SDValue &Shift);
493 bool SelectSVEAddSubSSatImm(SDValue N, MVT VT, SDValue &Imm, SDValue &Shift,
495 bool SelectSVECpyDupImm(SDValue N, MVT VT, SDValue &Imm, SDValue &Shift);
496 bool SelectSVELogicalImm(SDValue N, MVT VT, SDValue &Imm, bool Invert);
502 bool SelectSVEArithImm(SDValue N, MVT VT, SDValue &Imm);
730 EVT VT = N.getValueType();
731 if (VT != MVT::i32 && VT != MVT::i64)
769 NewShiftOp = VT == MVT::i64 ? AArch64::UBFMXri : AArch64::UBFMWri;
788 NewShiftOp = VT == MVT::i64 ? AArch64::UBFMXri : AArch64::UBFMWri;
790 NewShiftOp = VT == MVT::i64 ? AArch64::SBFMXri : AArch64::SBFMWri;
794 SDValue NewShiftAmt = CurDAG->getTargetConstant(NewShiftC, DL, VT);
795 SDValue BitWidthMinus1 = CurDAG->getTargetConstant(BitWidth - 1, DL, VT);
796 Reg = SDValue(CurDAG->getMachineNode(NewShiftOp, DL, VT, LHS->getOperand(0),
1471 EVT VT = N->getValueType(0);
1486 ReplaceNode(N, CurDAG->getMachineNode(Opc, dl, VT, Ops));
1581 EVT VT = LD->getMemoryVT();
1593 if (VT == MVT::i64)
1595 else if (VT == MVT::i32) {
1607 } else if (VT == MVT::i16) {
1620 } else if (VT == MVT::i8) {
1633 } else if (VT == MVT::f16) {
1635 } else if (VT == MVT::bf16) {
1637 } else if (VT == MVT::f32) {
1639 } else if (VT == MVT::f64 || VT.is64BitVector()) {
1641 } else if (VT.is128BitVector()) {
1681 EVT VT = N->getValueType(0);
1693 CurDAG->getTargetExtractSubreg(SubRegIdx + i, dl, VT, SuperReg));
1710 EVT VT = N->getValueType(0);
1732 CurDAG->getTargetExtractSubreg(SubRegIdx + i, dl, VT, SuperReg));
1774 static unsigned SelectOpcodeFromVT(EVT VT, ArrayRef<unsigned> Opcodes) {
1776 if (!VT.isScalableVector())
1779 EVT EltVT = VT.getVectorElementType();
1780 unsigned Key = VT.getVectorMinNumElements();
1833 EVT VT = N->getValueType(0);
1840 AArch64::psub0 + I, DL, VT, SuperReg));
1847 EVT VT = N->getValueType(0);
1856 AArch64::psub0 + I, DL, VT, SuperReg));
1863 EVT VT = N->getValueType(0);
1871 AArch64::zsub0 + i, DL, VT, SuperReg));
1879 EVT VT = N->getValueType(0);
1889 AArch64::zsub0 + i, DL, VT, SuperReg));
1905 EVT VT = N->getValueType(0);
1930 AArch64::zsub0 + i, DL, VT, SuperReg));
1940 EVT VT = N->getValueType(0);
1960 AArch64::zsub0 + i, DL, VT, SuperReg));
1975 EVT VT = N->getValueType(0);
1995 AArch64::zsub0 + i, DL, VT, SuperReg));
2024 EVT VT = Node->getValueType(0);
2032 AArch64::zsub0 + I, DL, VT, SuperReg));
2052 EVT VT = Node->getValueType(0);
2060 AArch64::zsub0 + I, DL, VT, SuperReg));
2071 EVT VT = N->getValueType(0);
2084 AArch64::zsub0 + i, DL, VT, SuperReg));
2140 EVT VT = N->getValueType(0);
2143 CurDAG->getTargetExtractSubreg(AArch64::zsub0 + I, DL, VT,
2176 EVT VT = N->getValueType(0);
2179 CurDAG->getTargetExtractSubreg(AArch64::zsub0 + I, DL, VT,
2193 EVT VT = N->getValueType(0);
2213 AArch64::zsub0 + I, DL, VT, SuperReg));
2220 EVT VT = N->getOperand(2)->getValueType(0);
2223 bool Is128Bit = VT.getSizeInBits() == 128;
2282 EVT VT = N->getOperand(2)->getValueType(0);
2287 bool Is128Bit = VT.getSizeInBits() == 128;
2310 EVT VT = V64Reg.getValueType();
2311 unsigned NarrowSize = VT.getVectorNumElements();
2312 MVT EltTy = VT.getVectorElementType().getSimpleVT();
2326 EVT VT = V128Reg.getValueType();
2327 unsigned WideSize = VT.getVectorNumElements();
2328 MVT EltTy = VT.getVectorElementType().getSimpleVT();
2338 EVT VT = N->getValueType(0);
2339 bool Narrow = VT.getSizeInBits() == 64;
2376 EVT VT = N->getValueType(0);
2377 bool Narrow = VT.getSizeInBits() == 64;
2430 EVT VT = N->getOperand(2)->getValueType(0);
2431 bool Narrow = VT.getSizeInBits() == 64;
2458 EVT VT = N->getOperand(2)->getValueType(0);
2459 bool Narrow = VT.getSizeInBits() == 64;
2496 EVT VT = N->getValueType(0);
2498 // Here we can test the type of VT and return false when the type does not
2501 assert((VT == MVT::i32 || VT == MVT::i64) &&
2529 if (VT == MVT::i64 && Op0->getOpcode() == ISD::ANY_EXTEND &&
2536 } else if (VT == MVT::i32 && Op0->getOpcode() == ISD::TRUNCATE &&
2543 VT = Opd0->getValueType(0);
2546 ClampMSB = (VT == MVT::i32);
2559 if (!BiggerPattern && (SrlImm <= 0 || SrlImm >= VT.getSizeInBits())) {
2568 (VT == MVT::i32 ? llvm::countr_one<uint32_t>(AndImm)
2578 Opc = VT == MVT::i32 ? AArch64::UBFMWri : AArch64::UBFMXri;
2587 EVT VT = N->getValueType(0);
2588 unsigned BitWidth = VT.getSizeInBits();
2589 assert((VT == MVT::i32 || VT == MVT::i64) &&
2595 VT = Op->getValueType(0);
2596 BitWidth = VT.getSizeInBits();
2608 Opc = (VT == MVT::i32) ? AArch64::SBFMWri : AArch64::SBFMXri;
2661 EVT VT = N->getValueType(0);
2663 // Here we can test the type of VT and return false when the type does not
2666 assert((VT == MVT::i32 || VT == MVT::i64) &&
2678 } else if (VT == MVT::i32 && N->getOpcode() == ISD::SRL &&
2685 TruncBits = Opd0->getValueType(0).getSizeInBits() - VT.getSizeInBits();
2686 VT = Opd0.getValueType();
2687 assert(VT == MVT::i64 && "the promoted type should be i64");
2698 if (ShlImm >= VT.getSizeInBits()) {
2709 assert(SrlImm > 0 && SrlImm < VT.getSizeInBits() &&
2712 Immr = immr < 0 ? immr + VT.getSizeInBits() : immr;
2713 Imms = VT.getSizeInBits() - ShlImm - TruncBits - 1;
2715 if (VT == MVT::i32)
2725 EVT VT = N->getValueType(0);
2727 if (VT != MVT::i64 || NarrowVT != MVT::i32)
2740 SDValue Ops[] = {Opd0, CurDAG->getTargetConstant(Immr, dl, VT),
2741 CurDAG->getTargetConstant(Imms, dl, VT)};
2742 CurDAG->SelectNodeTo(N, AArch64::SBFMXri, VT, Ops);
2793 EVT VT = N->getValueType(0);
2798 if ((Opc == AArch64::SBFMXri || Opc == AArch64::UBFMXri) && VT == MVT::i32) {
2809 SDValue Ops[] = {Opd0, CurDAG->getTargetConstant(Immr, dl, VT),
2810 CurDAG->getTargetConstant(Imms, dl, VT)};
2811 CurDAG->SelectNodeTo(N, Opc, VT, Ops);
2820 unsigned NumberOfIgnoredHighBits, EVT VT) {
2821 assert((VT == MVT::i32 || VT == MVT::i64) &&
2823 unsigned BitWidth = VT.getSizeInBits() - NumberOfIgnoredHighBits;
3059 EVT VT = Op.getValueType();
3061 unsigned BitWidth = VT.getSizeInBits();
3068 UBFMOpc, dl, VT, Op,
3069 CurDAG->getTargetConstant(BitWidth - ShlAmount, dl, VT),
3070 CurDAG->getTargetConstant(BitWidth - 1 - ShlAmount, dl, VT));
3076 UBFMOpc, dl, VT, Op, CurDAG->getTargetConstant(ShrAmount, dl, VT),
3077 CurDAG->getTargetConstant(BitWidth - 1, dl, VT));
3102 EVT VT = Op.getValueType();
3103 unsigned BitWidth = VT.getSizeInBits();
3136 EVT VT = Op.getValueType();
3137 assert((VT == MVT::i32 || VT == MVT::i64) &&
3138 "Caller guarantees VT is one of i32 or i64");
3139 (void)VT;
3161 } else if (VT == MVT::i64 && AndOp0.getOpcode() == ISD::ANY_EXTEND &&
3170 // expect VT to be MVT::i32.
3171 assert((ShlVal.getValueType() == MVT::i32) && "Expect VT to be MVT::i32.");
3189 if (Width >= (int)VT.getSizeInBits()) {
3190 // If VT is i64, Width > 64 is insensible since NonZeroBits is uint64_t, and
3193 // If VT is i32, what Width >= 32 means:
3258 EVT VT = Op.getValueType();
3259 assert((VT == MVT::i32 || VT == MVT::i64) &&
3261 (void)VT;
3283 static bool isShiftedMask(uint64_t Mask, EVT VT) {
3284 assert(VT == MVT::i32 || VT == MVT::i64);
3285 if (VT == MVT::i32)
3295 EVT VT = N->getValueType(0);
3296 if (VT != MVT::i32 && VT != MVT::i64)
3299 unsigned BitWidth = VT.getSizeInBits();
3327 if (!isShiftedMask(Known.Zero.getZExtValue(), VT))
3367 unsigned MOVIOpc = VT == MVT::i32 ? AArch64::MOVi32imm : AArch64::MOVi64imm;
3369 MOVIOpc, DL, VT, CurDAG->getTargetConstant(BFIImm, DL, VT));
3373 CurDAG->getTargetConstant(ImmR, DL, VT),
3374 CurDAG->getTargetConstant(ImmS, DL, VT)};
3375 unsigned Opc = (VT == MVT::i32) ? AArch64::BFMWri : AArch64::BFMXri;
3376 CurDAG->SelectNodeTo(N, Opc, VT, Ops);
3387 EVT VT = Dst.getValueType();
3388 assert((VT == MVT::i32 || VT == MVT::i64) &&
3389 "Caller should guarantee that VT is one of i32 or i64");
3390 const unsigned SizeInBits = VT.getSizeInBits();
3421 (VT == MVT::i32) ? AArch64::UBFMWri : AArch64::UBFMXri;
3423 UBFMOpc, DL, VT, DstOp0.getOperand(0),
3425 VT),
3427 SrlImm + NumTrailingZeroInShiftedMask + MaskWidth - 1, DL, VT));
3458 EVT VT = N->getValueType(0);
3463 assert((VT == MVT::i32 || VT == MVT::i64) &&
3471 const unsigned OrrOpc = (VT == MVT::i32) ? AArch64::ORRWrs : AArch64::ORRXrs;
3489 CurDAG->getTargetConstant(EncodedShiftImm, DL, VT)};
3490 CurDAG->SelectNodeTo(N, OrrOpc, VT, Ops);
3505 AArch64_AM::getShifterImm(AArch64_AM::LSL, ShlImm), DL, VT)};
3506 CurDAG->SelectNodeTo(N, OrrOpc, VT, Ops);
3524 AArch64_AM::getShifterImm(AArch64_AM::LSL, ShlImm), DL, VT)};
3525 CurDAG->SelectNodeTo(N, OrrOpc, VT, Ops);
3546 AArch64_AM::getShifterImm(AArch64_AM::LSR, SrlImm), DL, VT)};
3547 CurDAG->SelectNodeTo(N, OrrOpc, VT, Ops);
3559 EVT VT = N->getValueType(0);
3560 if (VT != MVT::i32 && VT != MVT::i64)
3563 unsigned BitWidth = VT.getSizeInBits();
3605 if ((BFXOpc != AArch64::UBFMXri && VT == MVT::i64) ||
3606 (BFXOpc != AArch64::UBFMWri && VT == MVT::i32))
3629 EVT VT = OrOpd1Val.getValueType();
3630 assert((VT == MVT::i32 || VT == MVT::i64) && "unexpected OR operand");
3649 isBitfieldDstMask(Imm, BitsToBeInserted, NumberOfIgnoredHighBits, VT))
3665 SDValue Ops[] = {Dst, Src, CurDAG->getTargetConstant(ImmR, DL, VT),
3666 CurDAG->getTargetConstant(ImmS, DL, VT)};
3667 unsigned Opc = (VT == MVT::i32) ? AArch64::BFMWri : AArch64::BFMXri;
3668 CurDAG->SelectNodeTo(N, Opc, VT, Ops);
3682 (isShiftedMask(Mask0Imm, VT) || isShiftedMask(Mask1Imm, VT))) {
3687 if (isShiftedMask(Mask0Imm, VT)) {
3700 unsigned ShiftOpc = (VT == MVT::i32) ? AArch64::UBFMWri : AArch64::UBFMXri;
3710 ShiftOpc, DL, VT, Src, CurDAG->getTargetConstant(LsrImm, DL, VT),
3711 CurDAG->getTargetConstant(BitWidth - 1, DL, VT));
3719 CurDAG->getTargetConstant(ImmR, DL, VT),
3720 CurDAG->getTargetConstant(ImmS, DL, VT)};
3721 unsigned Opc = (VT == MVT::i32) ? AArch64::BFMWri : AArch64::BFMXri;
3722 CurDAG->SelectNodeTo(N, Opc, VT, Ops);
3755 EVT VT = N->getValueType(0);
3756 if (VT != MVT::i32 && VT != MVT::i64)
3766 unsigned ImmR = (VT.getSizeInBits() - DstLSB) % VT.getSizeInBits();
3771 SDValue Ops[] = {Op0, CurDAG->getTargetConstant(ImmR, DL, VT),
3772 CurDAG->getTargetConstant(ImmS, DL, VT)};
3773 unsigned Opc = (VT == MVT::i32) ? AArch64::UBFMWri : AArch64::UBFMXri;
3774 CurDAG->SelectNodeTo(N, Opc, VT, Ops);
3781 EVT VT = N->getValueType(0);
3786 Opc = (VT == MVT::i32) ? AArch64::RORVWr : AArch64::RORVXr;
3789 Opc = (VT == MVT::i32) ? AArch64::LSLVWr : AArch64::LSLVXr;
3792 Opc = (VT == MVT::i32) ? AArch64::LSRVWr : AArch64::LSRVXr;
3795 Opc = (VT == MVT::i32) ? AArch64::ASRVWr : AArch64::ASRVXr;
3803 if (VT == MVT::i32) {
3806 } else if (VT == MVT::i64) {
3889 if (VT == MVT::i32)
3891 else if (VT == MVT::i64 && NewShiftAmt->getValueType(0) == MVT::i32) {
3894 AArch64::SUBREG_TO_REG, DL, VT,
3900 CurDAG->SelectNodeTo(N, Opc, VT, Ops);
4178 bool AArch64DAGToDAGISel::SelectSVEAddSubImm(SDValue N, MVT VT, SDValue &Imm,
4186 .trunc(VT.getFixedSizeInBits())
4189 switch (VT.SimpleTy) {
4218 bool AArch64DAGToDAGISel::SelectSVEAddSubSSatImm(SDValue N, MVT VT,
4227 .trunc(VT.getFixedSizeInBits())
4239 switch (VT.SimpleTy) {
4268 bool AArch64DAGToDAGISel::SelectSVECpyDupImm(SDValue N, MVT VT, SDValue &Imm,
4276 .trunc(VT.getFixedSizeInBits())
4279 switch (VT.SimpleTy) {
4320 bool AArch64DAGToDAGISel::SelectSVEArithImm(SDValue N, MVT VT, SDValue &Imm) {
4324 switch (VT.SimpleTy) {
4348 bool AArch64DAGToDAGISel::SelectSVELogicalImm(SDValue N, MVT VT, SDValue &Imm,
4358 switch (VT.SimpleTy) {
4479 EVT VT = N->getValueType(0);
4481 if (VT.isFixedLengthVector() || InVT.isScalableVector())
4490 assert(VT.getSizeInBits().getKnownMinValue() == AArch64::SVEBitsPerBlock &&
4495 ReplaceNode(N, CurDAG->getMachineNode(TargetOpcode::COPY_TO_REGCLASS, DL, VT,
4508 EVT VT = N->getValueType(0);
4510 if (VT.isScalableVector() || InVT.isFixedLengthVector())
4512 if (VT.getSizeInBits() <= 128)
4524 ReplaceNode(N, CurDAG->getMachineNode(TargetOpcode::COPY_TO_REGCLASS, DL, VT,
4534 EVT VT = N->getValueType(0);
4545 if (VT.isScalableVector() &&
4569 if (ShlAmt + ShrAmt != VT.getScalarSizeInBits())
4578 VT, {AArch64::XAR_ZZZI_B, AArch64::XAR_ZZZI_H, AArch64::XAR_ZZZI_S,
4580 CurDAG->SelectNodeTo(N, Opc, VT, Ops);
4626 EVT VT = Node->getValueType(0);
4701 if (VT == MVT::i32) {
4706 } else if (VT == MVT::i64) {
4787 if (VT == MVT::v8i8) {
4790 } else if (VT == MVT::v16i8) {
4793 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
4796 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
4799 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
4802 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
4805 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
4808 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
4814 if (VT == MVT::v8i8) {
4817 } else if (VT == MVT::v16i8) {
4820 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
4823 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
4826 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
4829 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
4832 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
4835 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
4841 if (VT == MVT::v8i8) {
4844 } else if (VT == MVT::v16i8) {
4847 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
4850 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
4853 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
4856 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
4859 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
4862 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
4868 if (VT == MVT::v8i8) {
4871 } else if (VT == MVT::v16i8) {
4874 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
4877 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
4880 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
4883 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
4886 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
4889 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
4895 if (VT == MVT::v8i8) {
4898 } else if (VT == MVT::v16i8) {
4901 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
4904 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
4907 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
4910 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
4913 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
4916 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
4922 if (VT == MVT::v8i8) {
4925 } else if (VT == MVT::v16i8) {
4928 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
4931 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
4934 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
4937 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
4940 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
4943 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
4949 if (VT == MVT::v8i8) {
4952 } else if (VT == MVT::v16i8) {
4955 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
4958 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
4961 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
4964 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
4967 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
4970 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
4976 if (VT == MVT::v8i8) {
4979 } else if (VT == MVT::v16i8) {
4982 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
4985 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
4988 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
4991 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
4994 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
4997 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
5003 if (VT == MVT::v8i8) {
5006 } else if (VT == MVT::v16i8) {
5009 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
5012 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
5015 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
5018 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
5021 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
5024 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
5030 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
5033 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
5034 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
5037 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
5038 VT == MVT::v2f32) {
5041 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
5042 VT == MVT::v1f64) {
5048 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
5051 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
5052 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
5055 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
5056 VT == MVT::v2f32) {
5059 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
5060 VT == MVT::v1f64) {
5066 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
5069 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
5070 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
5073 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
5074 VT == MVT::v2f32) {
5077 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
5078 VT == MVT::v1f64) {
5099 if (VT == MVT::nxv16i8) {
5103 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5104 VT == MVT::nxv8bf16) {
5108 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5112 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5120 if (VT == MVT::nxv16i8) {
5130 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5131 VT == MVT::nxv8bf16) {
5141 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5151 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5165 if (VT == MVT::nxv16i8) {
5175 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5176 VT == MVT::nxv8bf16) {
5186 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5196 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5210 if (VT == MVT::nxv16i8) {
5221 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5222 VT == MVT::nxv8bf16) {
5233 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5244 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5259 if (VT == MVT::nxv16i8) {
5270 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5271 VT == MVT::nxv8bf16) {
5282 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5293 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5308 if (VT == MVT::nxv16i8) {
5312 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5313 VT == MVT::nxv8bf16) {
5317 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5321 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5329 if (VT == MVT::nxv16i8) {
5333 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5334 VT == MVT::nxv8bf16) {
5338 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5342 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5350 if (VT == MVT::nxv16i8) {
5354 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5355 VT == MVT::nxv8bf16) {
5359 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5363 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5371 if (VT == MVT::nxv16i8) {
5375 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5376 VT == MVT::nxv8bf16) {
5380 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5384 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5392 if (VT == MVT::nxv16i8) {
5396 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5397 VT == MVT::nxv8bf16) {
5401 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5405 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5413 if (VT == MVT::nxv16i8) {
5417 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5418 VT == MVT::nxv8bf16) {
5422 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5426 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5444 if (VT == MVT::nxv16i8) {
5447 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5448 VT == MVT::nxv8bf16) {
5451 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5454 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5461 if (VT == MVT::nxv16i8) {
5464 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5465 VT == MVT::nxv8bf16) {
5468 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5471 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5478 if (VT == MVT::nxv16i8) {
5481 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5482 VT == MVT::nxv8bf16) {
5485 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5488 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5495 if (VT == MVT::nxv16i8) {
5498 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
5499 VT == MVT::nxv8bf16) {
5502 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
5505 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
5623 VT == MVT::v8i8 ? AArch64::TBLv8i8Two : AArch64::TBLv16i8Two,
5627 SelectTable(Node, 3, VT == MVT::v8i8 ? AArch64::TBLv8i8Three
5632 SelectTable(Node, 4, VT == MVT::v8i8 ? AArch64::TBLv8i8Four
5638 VT == MVT::v8i8 ? AArch64::TBXv8i8Two : AArch64::TBXv16i8Two,
5642 SelectTable(Node, 3, VT == MVT::v8i8 ? AArch64::TBXv8i8Three
5647 SelectTable(Node, 4, VT == MVT::v8i8 ? AArch64::TBXv8i8Four
6287 VT = Node->getOperand(2)->getValueType(0);
6292 if (VT == MVT::v8i8) {
6295 } else if (VT == MVT::v16i8) {
6298 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 ||
6299 VT == MVT::v4bf16) {
6302 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 ||
6303 VT == MVT::v8bf16) {
6306 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6309 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6312 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6315 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6322 if (VT == MVT::v8i8) {
6325 } else if (VT == MVT::v16i8) {
6328 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 ||
6329 VT == MVT::v4bf16) {
6332 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 ||
6333 VT == MVT::v8bf16) {
6336 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6339 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6342 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6345 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6352 if (VT == MVT::v8i8) {
6355 } else if (VT == MVT::v16i8) {
6358 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 ||
6359 VT == MVT::v4bf16) {
6362 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 ||
6363 VT == MVT::v8bf16) {
6366 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6369 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6372 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6375 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6382 if (VT == MVT::v8i8) {
6385 } else if (VT == MVT::v16i8) {
6388 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 ||
6389 VT == MVT::v4bf16) {
6392 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 ||
6393 VT == MVT::v8bf16) {
6396 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6399 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6402 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6405 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6412 if (VT == MVT::v8i8) {
6415 } else if (VT == MVT::v16i8) {
6418 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 ||
6419 VT == MVT::v4bf16) {
6422 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 ||
6423 VT == MVT::v8bf16) {
6426 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6429 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6432 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6435 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6442 if (VT == MVT::v8i8) {
6445 } else if (VT == MVT::v16i8) {
6448 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 ||
6449 VT == MVT::v4bf16) {
6452 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 ||
6453 VT == MVT::v8bf16) {
6456 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6459 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6462 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6465 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6472 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
6475 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
6476 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
6479 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
6480 VT == MVT::v2f32) {
6483 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
6484 VT == MVT::v1f64) {
6491 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
6494 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
6495 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
6498 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
6499 VT == MVT::v2f32) {
6502 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
6503 VT == MVT::v1f64) {
6510 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
6513 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
6514 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
6517 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
6518 VT == MVT::v2f32) {
6521 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
6522 VT == MVT::v1f64) {
6541 if (VT == MVT::nxv16i8) {
6544 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
6545 VT == MVT::nxv8bf16) {
6548 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
6551 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
6558 if (VT == MVT::nxv16i8) {
6561 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
6562 VT == MVT::nxv8bf16) {
6565 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
6568 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
6575 if (VT == MVT::nxv16i8) {
6578 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
6579 VT == MVT::nxv8bf16) {
6582 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
6585 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
6595 if (VT == MVT::v8i8) {
6598 } else if (VT == MVT::v16i8) {
6601 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6604 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6607 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6610 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6613 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6616 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6623 if (VT == MVT::v8i8) {
6626 } else if (VT == MVT::v16i8) {
6629 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6632 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6635 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6638 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6641 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6644 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6651 if (VT == MVT::v8i8) {
6654 } else if (VT == MVT::v16i8) {
6657 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6660 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6663 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6666 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6669 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6672 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6679 if (VT == MVT::v8i8) {
6682 } else if (VT == MVT::v16i8) {
6685 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6688 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6691 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6694 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6697 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6700 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6707 if (VT == MVT::v8i8) {
6710 } else if (VT == MVT::v16i8) {
6713 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6716 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6719 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6722 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6725 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6728 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6735 if (VT == MVT::v8i8) {
6738 } else if (VT == MVT::v16i8) {
6741 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6744 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6747 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6750 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6753 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6756 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6763 if (VT == MVT::v8i8) {
6766 } else if (VT == MVT::v16i8) {
6769 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6772 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6775 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6778 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6781 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6784 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6791 if (VT == MVT::v8i8) {
6794 } else if (VT == MVT::v16i8) {
6797 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6800 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6803 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6806 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6809 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6812 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6819 if (VT == MVT::v8i8) {
6822 } else if (VT == MVT::v16i8) {
6825 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6828 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6831 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6834 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6837 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6840 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6847 if (VT == MVT::v8i8) {
6850 } else if (VT == MVT::v16i8) {
6853 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6856 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6859 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6862 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6865 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6868 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6875 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
6878 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
6879 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
6882 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
6883 VT == MVT::v2f32) {
6886 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
6887 VT == MVT::v1f64) {
6894 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
6897 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
6898 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
6901 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
6902 VT == MVT::v2f32) {
6905 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
6906 VT == MVT::v1f64) {
6913 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
6916 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
6917 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
6920 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
6921 VT == MVT::v2f32) {
6924 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
6925 VT == MVT::v1f64) {
6932 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
6935 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
6936 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
6939 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
6940 VT == MVT::v2f32) {
6943 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
6944 VT == MVT::v1f64) {
6951 VT = Node->getOperand(1).getValueType();
6952 if (VT == MVT::v8i8) {
6955 } else if (VT == MVT::v16i8) {
6958 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6961 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6964 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6967 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6970 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
6973 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
6980 VT = Node->getOperand(1).getValueType();
6981 if (VT == MVT::v8i8) {
6984 } else if (VT == MVT::v16i8) {
6987 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
6990 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
6993 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
6996 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
6999 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
7002 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
7009 VT = Node->getOperand(1).getValueType();
7010 if (VT == MVT::v8i8) {
7013 } else if (VT == MVT::v16i8) {
7016 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
7019 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
7022 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
7025 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
7028 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
7031 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
7038 VT = Node->getOperand(1).getValueType();
7039 if (VT == MVT::v8i8) {
7042 } else if (VT == MVT::v16i8) {
7045 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
7048 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
7051 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
7054 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
7057 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
7060 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
7067 VT = Node->getOperand(1).getValueType();
7068 if (VT == MVT::v8i8) {
7071 } else if (VT == MVT::v16i8) {
7074 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
7077 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16 ) {
7080 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
7083 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
7086 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
7089 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
7096 VT = Node->getOperand(1).getValueType();
7097 if (VT == MVT::v8i8) {
7100 } else if (VT == MVT::v16i8) {
7103 } else if (VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16) {
7106 } else if (VT == MVT::v8i16 || VT == MVT::v8f16 || VT == MVT::v8bf16) {
7109 } else if (VT == MVT::v2i32 || VT == MVT::v2f32) {
7112 } else if (VT == MVT::v4i32 || VT == MVT::v4f32) {
7115 } else if (VT == MVT::v1i64 || VT == MVT::v1f64) {
7118 } else if (VT == MVT::v2i64 || VT == MVT::v2f64) {
7125 VT = Node->getOperand(1).getValueType();
7126 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
7129 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
7130 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
7133 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
7134 VT == MVT::v2f32) {
7137 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
7138 VT == MVT::v1f64) {
7145 VT = Node->getOperand(1).getValueType();
7146 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
7149 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
7150 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
7153 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
7154 VT == MVT::v2f32) {
7157 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
7158 VT == MVT::v1f64) {
7165 VT = Node->getOperand(1).getValueType();
7166 if (VT == MVT::v16i8 || VT == MVT::v8i8) {
7169 } else if (VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v4f16 ||
7170 VT == MVT::v8f16 || VT == MVT::v4bf16 || VT == MVT::v8bf16) {
7173 } else if (VT == MVT::v4i32 || VT == MVT::v2i32 || VT == MVT::v4f32 ||
7174 VT == MVT::v2f32) {
7177 } else if (VT == MVT::v2i64 || VT == MVT::v1i64 || VT == MVT::v2f64 ||
7178 VT == MVT::v1f64) {
7185 if (VT == MVT::nxv16i8) {
7188 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
7189 VT == MVT::nxv8bf16) {
7192 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
7195 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
7202 if (VT == MVT::nxv16i8) {
7205 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
7206 VT == MVT::nxv8bf16) {
7209 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
7212 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
7219 if (VT == MVT::nxv16i8) {
7222 } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 ||
7223 VT == MVT::nxv8bf16) {
7226 } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) {
7229 } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) {
7469 EVT VT = N.getValueType();
7470 return VT.isScalableVector() && VT.getVectorElementType() == MVT::i1;