Lines Matching defs:SrcVT

4291   EVT SrcVT = SrcVal.getValueType();
4294 if (useSVEForFixedLengthVectorVT(SrcVT, !Subtarget->isNeonAvailable()))
4305 EVT I32 = SrcVT.changeElementType(MVT::i32);
4306 EVT F32 = SrcVT.changeElementType(MVT::f32);
4307 if (SrcVT.getScalarType() == MVT::f32) {
4315 } else if (SrcVT.getScalarType() == MVT::f64) {
4335 dl, getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), SrcVT),
4354 if (SrcVT != MVT::f128) {
4356 if (useSVEForFixedLengthVectorVT(SrcVT))
4492 EVT SrcVT = SrcVal.getValueType();
4496 uint64_t SrcElementWidth = SrcVT.getScalarSizeInBits();
4508 EVT SrcElementVT = SrcVT.getVectorElementType();
4514 MVT F32VT = MVT::getVectorVT(MVT::f32, SrcVT.getVectorNumElements());
4516 SrcVT = F32VT;
4527 MVT F64VT = MVT::getVectorVT(MVT::f64, SrcVT.getVectorNumElements());
4529 SrcVT = F64VT;
4545 EVT IntVT = SrcVT.changeVectorElementTypeToInteger();
4570 EVT SrcVT = SrcVal.getValueType();
4572 if (SrcVT.isVector())
4582 if ((SrcVT == MVT::f16 && !Subtarget->hasFullFP16()) || SrcVT == MVT::bf16) {
4584 SrcVT = MVT::f32;
4585 } else if (SrcVT != MVT::f64 && SrcVT != MVT::f32 && SrcVT != MVT::f16 &&
4586 SrcVT != MVT::bf16)
4591 if ((SrcVT == MVT::f64 || SrcVT == MVT::f32 ||
4592 (SrcVT == MVT::f16 && Subtarget->hasFullFP16())) &&
9950 EVT SrcVT = In2.getValueType();
9952 if (!SrcVT.bitsEq(VT))
12144 EVT SrcVT = Src.getValueType();
12145 Src = DAG.getBitcast(SrcVT.is64BitVector() ? MVT::v8i8 : MVT::v16i8, Src);
12146 assert((SrcVT.is64BitVector() || SrcVT.is128BitVector()) &&
12148 if (SrcVT.is64BitVector())
12194 EVT SrcVT = Src.ShuffleVec.getValueType();
12196 TypeSize SrcVTSize = SrcVT.getSizeInBits();
12202 EVT EltVT = SrcVT.getVectorElementType();
12249 if (!SrcVT.is64BitVector()) {
13125 EVT SrcVT = SrcOp.getValueType();
13126 assert(VT.getScalarSizeInBits() % SrcVT.getScalarSizeInBits() == 0 &&
13128 unsigned Scale = VT.getScalarSizeInBits() / SrcVT.getScalarSizeInBits();
13132 SDValue Zeros = DAG.getConstant(0, dl, SrcVT);
13134 DAG.getNode(AArch64ISD::ZIP1, dl, SrcVT, SrcOp, Zeros));
14961 EVT SrcVT = LHS.getValueType();
14962 assert(VT.getSizeInBits() == SrcVT.getSizeInBits() &&
14976 IsCnst && SrcVT.getScalarSizeInBits() == SplatBitSize && SplatValue == 1;
14979 if (SrcVT.getVectorElementType().isFloatingPoint()) {
15273 EVT SrcVT = Src.getValueType();
15280 SrcVT.getVectorElementType() == MVT::i64);
15281 if (SrcVT.isScalableVector() ||
15283 SrcVT, OverrideNEON && Subtarget->useSVEForFixedLengthVectors())) {
15285 if (SrcVT.getVectorElementType() == MVT::i1)
17592 bool AArch64TargetLowering::isExtractSubvectorCheap(EVT ResVT, EVT SrcVT,
19350 EVT SrcVT = N->getOperand(0).getValueType();
19355 all_of(N->op_values(), [SrcVT](SDValue V) {
19356 if (V.getValueType() != SrcVT)
19364 EVT FVT = SrcVT == MVT::v2i8 ? MVT::f16 : MVT::f32;
20298 EVT SrcVT;
20300 SrcVT = cast<VTSDNode>(N.getOperand(1))->getVT();
20302 SrcVT = N.getOperand(0).getValueType();
20304 return SrcVT == MVT::i32 || SrcVT == MVT::i16 || SrcVT == MVT::i8;
22069 EVT SrcVT = Op0->getValueType(0);
22071 return (SrcVT == MVT::nxv8i16 && DstVT == MVT::nxv16i8) ||
22072 (SrcVT == MVT::nxv4i32 && DstVT == MVT::nxv8i16) ||
22073 (SrcVT == MVT::nxv2i64 && DstVT == MVT::nxv4i32);
22858 bool isHalvingTruncateOfLegalScalableType(EVT SrcVT, EVT DstVT) {
22859 return (SrcVT == MVT::nxv8i16 && DstVT == MVT::nxv8i8) ||
22860 (SrcVT == MVT::nxv4i32 && DstVT == MVT::nxv4i16) ||
22861 (SrcVT == MVT::nxv2i64 && DstVT == MVT::nxv2i32);
24294 EVT SrcVT = N0.getOperand(0).getValueType();
24299 if (SrcVT == MVT::i1 ||
24300 (SrcVT.isFloatingPoint() && SrcVT.getSizeInBits() <= 16))
24303 int NumMaskElts = ResVT.getSizeInBits() / SrcVT.getSizeInBits();
24307 SrcVT = EVT::getVectorVT(*DAG.getContext(), SrcVT, NumMaskElts);
24308 EVT CCVT = SrcVT.changeVectorElementTypeToInteger();
24318 DAG.getTargetLoweringInfo().isTypeLegal(SrcVT));
24324 DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, SrcVT, N0.getOperand(0));
24326 DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, SrcVT, N0.getOperand(1));
24506 const EVT SrcVT = Src->getValueType(0);
24507 assert(SrcVT.isScalableVector() &&
24511 MVT SrcElVT = SrcVT.getVectorElementType().getSimpleVT();
24514 if (SrcVT.getSizeInBits().getKnownMinValue() > AArch64::SVEBitsPerBlock)
24520 if ((SrcVT != MVT::nxv4f32) && (SrcVT != MVT::nxv2f64) &&
24523 ((SrcVT != MVT::nxv8f16) && (SrcVT != MVT::nxv8bf16))))
24563 SrcVT.getScalarSizeInBits() / 8)) {
24588 EVT HwSrcVt = getSVEContainerType(SrcVT);
24593 SDValue InputVT = DAG.getValueType(SrcVT);
24594 if (SrcVT.isFloatingPoint())
25762 [[maybe_unused]] EVT SrcVT = Op.getValueType();
25763 assert(SrcVT.isVector() && SrcVT.getVectorElementType() == MVT::i1 &&
25804 EVT SrcVT = Op.getValueType();
25806 if (VT == MVT::v2i16 && SrcVT == MVT::i32) {
25811 if (VT == MVT::v4i8 && SrcVT == MVT::i32) {
25816 if (VT == MVT::v2i8 && SrcVT == MVT::i16) {
25821 if (VT.isScalableVector() && !isTypeLegal(VT) && isTypeLegal(SrcVT)) {
25822 assert(!VT.isFloatingPoint() && SrcVT.isFloatingPoint() &&
25830 if (VT.getVectorElementCount() != SrcVT.getVectorElementCount())
25838 if (SrcVT.isVector() && SrcVT.getVectorElementType() == MVT::i1 &&
25842 if (VT != MVT::i16 || (SrcVT != MVT::f16 && SrcVT != MVT::bf16))
27646 EVT SrcVT = VecOp.getValueType();
27647 EVT ResVT = SrcVT.getVectorElementType();
27649 EVT ContainerVT = SrcVT;
27650 if (SrcVT.isFixedLengthVector()) {
27651 ContainerVT = getContainerForFixedLengthVector(DAG, SrcVT);
27655 SDValue Pg = getPredicateForVector(DAG, DL, SrcVT);
27717 EVT SrcVT = VecOp.getValueType();
27720 SrcVT,
27722 EVT ContainerVT = getContainerForFixedLengthVector(DAG, SrcVT);
27728 SrcVT.getVectorElementType();
27729 EVT RdxVT = SrcVT;
27730 if (SrcVT.isFixedLengthVector() || Opcode == AArch64ISD::UADDV_PRED)
27733 SDValue Pg = getPredicateForVector(DAG, DL, SrcVT);
27820 EVT SrcVT = SrcOp1.getValueType();
27824 EVT PairVT = SrcVT.getDoubleNumVectorElementsVT(*DAG.getContext());
27834 SDValue Pg = getPredicateForFixedLengthVector(DAG, DL, SrcVT);
27852 EVT SrcVT = Val.getValueType();
27855 SrcVT.getVectorElementType());
27857 Val = DAG.getNode(ISD::BITCAST, DL, SrcVT.changeTypeToInteger(), Val);
27876 EVT SrcVT = Val.getValueType();
27877 EVT ContainerSrcVT = getContainerForFixedLengthVector(DAG, SrcVT);
27886 Val = convertFromScalableVector(DAG, SrcVT.changeTypeToInteger(), Val);
27904 EVT SrcVT = Val.getValueType();
27906 EVT ContainerSrcVT = getContainerForFixedLengthVector(DAG, SrcVT);
27908 if (VT.bitsGE(SrcVT)) {
27924 SDValue Pg = getPredicateForFixedLengthVector(DAG, DL, SrcVT);
27929 Val = convertFromScalableVector(DAG, SrcVT, Val);
28034 EVT SrcVT = Val.getValueType();
28036 EVT ContainerSrcVT = getContainerForFixedLengthVector(DAG, SrcVT);
28038 if (VT.bitsGT(SrcVT)) {
28043 Val = DAG.getNode(ISD::BITCAST, DL, SrcVT.changeTypeToInteger(), Val);
28053 SDValue Pg = getPredicateForFixedLengthVector(DAG, DL, SrcVT);
28059 Val = convertFromScalableVector(DAG, SrcVT.changeTypeToInteger(), Val);