@@ -5544,9 +5544,10 @@ SDValue AArch64TargetLowering::LowerGET_ROUNDING(SDValue Op,
55445544 SDLoc DL(Op);
55455545
55465546 SDValue Chain = Op.getOperand(0);
5547- SDValue FPCR_64 = DAG.getNode(
5548- ISD::INTRINSIC_W_CHAIN, DL, {MVT::i64, MVT::Other},
5549- {Chain, DAG.getConstant(Intrinsic::aarch64_get_fpcr, DL, MVT::i64)});
5547+ SDValue FPCR_64 =
5548+ DAG.getNode(ISD::INTRINSIC_W_CHAIN, DL, {MVT::i64, MVT::Other},
5549+ {Chain, DAG.getTargetConstant(Intrinsic::aarch64_get_fpcr, DL,
5550+ MVT::i64)});
55505551 Chain = FPCR_64.getValue(1);
55515552 SDValue FPCR_32 = DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, FPCR_64);
55525553 SDValue FltRounds = DAG.getNode(ISD::ADD, DL, MVT::i32, FPCR_32,
@@ -5632,7 +5633,8 @@ SDValue AArch64TargetLowering::LowerSET_FPMODE(SDValue Op,
56325633
56335634 // Set new value of FPCR.
56345635 SDValue Ops2[] = {
5635- Chain, DAG.getConstant(Intrinsic::aarch64_set_fpcr, DL, MVT::i64), FPCR};
5636+ Chain, DAG.getTargetConstant(Intrinsic::aarch64_set_fpcr, DL, MVT::i64),
5637+ FPCR};
56365638 return DAG.getNode(ISD::INTRINSIC_VOID, DL, MVT::Other, Ops2);
56375639}
56385640
@@ -5655,9 +5657,9 @@ SDValue AArch64TargetLowering::LowerRESET_FPMODE(SDValue Op,
56555657 DAG.getConstant(AArch64::ReservedFPControlBits, DL, MVT::i64));
56565658
56575659 // Set new value of FPCR.
5658- SDValue Ops2[] = {Chain,
5659- DAG.getConstant (Intrinsic::aarch64_set_fpcr, DL, MVT::i64),
5660- FPSCRMasked};
5660+ SDValue Ops2[] = {
5661+ Chain, DAG.getTargetConstant (Intrinsic::aarch64_set_fpcr, DL, MVT::i64),
5662+ FPSCRMasked};
56615663 return DAG.getNode(ISD::INTRINSIC_VOID, DL, MVT::Other, Ops2);
56625664}
56635665
@@ -7289,17 +7291,19 @@ SDValue AArch64TargetLowering::LowerVECTOR_COMPRESS(SDValue Op,
72897291
72907292 SDValue Compressed = DAG.getNode(
72917293 ISD::INTRINSIC_WO_CHAIN, DL, Vec.getValueType(),
7292- DAG.getConstant(Intrinsic::aarch64_sve_compact, DL, MVT::i64), Mask, Vec);
7294+ DAG.getTargetConstant(Intrinsic::aarch64_sve_compact, DL, MVT::i64), Mask,
7295+ Vec);
72937296
72947297 // compact fills with 0s, so if our passthru is all 0s, do nothing here.
72957298 if (HasPassthru && !ISD::isConstantSplatVectorAllZeros(Passthru.getNode())) {
72967299 SDValue Offset = DAG.getNode(
72977300 ISD::INTRINSIC_WO_CHAIN, DL, MVT::i64,
7298- DAG.getConstant(Intrinsic::aarch64_sve_cntp, DL, MVT::i64), Mask, Mask);
7301+ DAG.getTargetConstant(Intrinsic::aarch64_sve_cntp, DL, MVT::i64), Mask,
7302+ Mask);
72997303
73007304 SDValue IndexMask = DAG.getNode(
73017305 ISD::INTRINSIC_WO_CHAIN, DL, MaskVT,
7302- DAG.getConstant (Intrinsic::aarch64_sve_whilelo, DL, MVT::i64),
7306+ DAG.getTargetConstant (Intrinsic::aarch64_sve_whilelo, DL, MVT::i64),
73037307 DAG.getConstant(0, DL, MVT::i64), Offset);
73047308
73057309 Compressed =
@@ -7428,10 +7432,10 @@ static SDValue LowerFLDEXP(SDValue Op, SelectionDAG &DAG) {
74287432 DAG.getUNDEF(ExpVT), Exp, Zero);
74297433 SDValue VPg = getPTrue(DAG, DL, XVT.changeVectorElementType(MVT::i1),
74307434 AArch64SVEPredPattern::all);
7431- SDValue FScale =
7432- DAG.getNode( ISD::INTRINSIC_WO_CHAIN, DL, XVT,
7433- DAG.getConstant (Intrinsic::aarch64_sve_fscale, DL, MVT::i64),
7434- VPg, VX, VExp);
7435+ SDValue FScale = DAG.getNode(
7436+ ISD::INTRINSIC_WO_CHAIN, DL, XVT,
7437+ DAG.getTargetConstant (Intrinsic::aarch64_sve_fscale, DL, MVT::i64), VPg ,
7438+ VX, VExp);
74357439 SDValue Final =
74367440 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, X.getValueType(), FScale, Zero);
74377441 if (X.getValueType() != XScalarTy)
@@ -8094,7 +8098,7 @@ static SDValue emitRestoreZALazySave(SDValue Chain, SDLoc DL,
80948098 TLI.getLibcallName(LC), TLI.getPointerTy(DAG.getDataLayout()));
80958099 SDValue TPIDR2_EL0 = DAG.getNode(
80968100 ISD::INTRINSIC_W_CHAIN, DL, MVT::i64, Chain,
8097- DAG.getConstant (Intrinsic::aarch64_sme_get_tpidr2, DL, MVT::i32));
8101+ DAG.getTargetConstant (Intrinsic::aarch64_sme_get_tpidr2, DL, MVT::i32));
80988102 // Copy the address of the TPIDR2 block into X0 before 'calling' the
80998103 // RESTORE_ZA pseudo.
81008104 SDValue Glue;
@@ -8109,7 +8113,7 @@ static SDValue emitRestoreZALazySave(SDValue Chain, SDLoc DL,
81098113 // Finally reset the TPIDR2_EL0 register to 0.
81108114 Chain = DAG.getNode(
81118115 ISD::INTRINSIC_VOID, DL, MVT::Other, Chain,
8112- DAG.getConstant (Intrinsic::aarch64_sme_set_tpidr2, DL, MVT::i32),
8116+ DAG.getTargetConstant (Intrinsic::aarch64_sme_set_tpidr2, DL, MVT::i32),
81138117 DAG.getConstant(0, DL, MVT::i64));
81148118 TPIDR2.Uses++;
81158119 return Chain;
@@ -8704,7 +8708,7 @@ SDValue AArch64TargetLowering::LowerFormalArguments(
87048708 if (Attrs.isNewZT0())
87058709 Chain = DAG.getNode(
87068710 ISD::INTRINSIC_VOID, DL, MVT::Other, Chain,
8707- DAG.getConstant (Intrinsic::aarch64_sme_zero_zt, DL, MVT::i32),
8711+ DAG.getTargetConstant (Intrinsic::aarch64_sme_zero_zt, DL, MVT::i32),
87088712 DAG.getTargetConstant(0, DL, MVT::i32));
87098713 }
87108714
@@ -9517,7 +9521,7 @@ AArch64TargetLowering::LowerCall(CallLoweringInfo &CLI,
95179521 DAG.getTargetLoweringInfo().getFrameIndexTy(DAG.getDataLayout()));
95189522 Chain = DAG.getNode(
95199523 ISD::INTRINSIC_VOID, DL, MVT::Other, Chain,
9520- DAG.getConstant (Intrinsic::aarch64_sme_set_tpidr2, DL, MVT::i32),
9524+ DAG.getTargetConstant (Intrinsic::aarch64_sme_set_tpidr2, DL, MVT::i32),
95219525 TPIDR2ObjAddr);
95229526 OptimizationRemarkEmitter ORE(&MF.getFunction());
95239527 ORE.emit([&]() {
@@ -13408,8 +13412,8 @@ SDValue ReconstructShuffleWithRuntimeMask(SDValue Op, SelectionDAG &DAG) {
1340813412
1340913413 return DAG.getNode(
1341013414 ISD::INTRINSIC_WO_CHAIN, DL, VT,
13411- DAG.getConstant (Intrinsic::aarch64_neon_tbl1, DL, MVT::i32), SourceVec ,
13412- MaskSourceVec);
13415+ DAG.getTargetConstant (Intrinsic::aarch64_neon_tbl1, DL, MVT::i32),
13416+ SourceVec, MaskSourceVec);
1341313417}
1341413418
1341513419// Gather data to see if the operation can be modelled as a
@@ -14265,14 +14269,16 @@ static SDValue GenerateTBL(SDValue Op, ArrayRef<int> ShuffleMask,
1426514269 V1Cst = DAG.getNode(ISD::CONCAT_VECTORS, DL, MVT::v16i8, V1Cst, V1Cst);
1426614270 Shuffle = DAG.getNode(
1426714271 ISD::INTRINSIC_WO_CHAIN, DL, IndexVT,
14268- DAG.getConstant(Intrinsic::aarch64_neon_tbl1, DL, MVT::i32), V1Cst,
14272+ DAG.getTargetConstant(Intrinsic::aarch64_neon_tbl1, DL, MVT::i32),
14273+ V1Cst,
1426914274 DAG.getBuildVector(IndexVT, DL, ArrayRef(TBLMask.data(), IndexLen)));
1427014275 } else {
1427114276 if (IndexLen == 8) {
1427214277 V1Cst = DAG.getNode(ISD::CONCAT_VECTORS, DL, MVT::v16i8, V1Cst, V2Cst);
1427314278 Shuffle = DAG.getNode(
1427414279 ISD::INTRINSIC_WO_CHAIN, DL, IndexVT,
14275- DAG.getConstant(Intrinsic::aarch64_neon_tbl1, DL, MVT::i32), V1Cst,
14280+ DAG.getTargetConstant(Intrinsic::aarch64_neon_tbl1, DL, MVT::i32),
14281+ V1Cst,
1427614282 DAG.getBuildVector(IndexVT, DL, ArrayRef(TBLMask.data(), IndexLen)));
1427714283 } else {
1427814284 // FIXME: We cannot, for the moment, emit a TBL2 instruction because we
@@ -14283,8 +14289,8 @@ static SDValue GenerateTBL(SDValue Op, ArrayRef<int> ShuffleMask,
1428314289 // IndexLen));
1428414290 Shuffle = DAG.getNode(
1428514291 ISD::INTRINSIC_WO_CHAIN, DL, IndexVT,
14286- DAG.getConstant (Intrinsic::aarch64_neon_tbl2, DL, MVT::i32), V1Cst ,
14287- V2Cst,
14292+ DAG.getTargetConstant (Intrinsic::aarch64_neon_tbl2, DL, MVT::i32),
14293+ V1Cst, V2Cst,
1428814294 DAG.getBuildVector(IndexVT, DL, ArrayRef(TBLMask.data(), IndexLen)));
1428914295 }
1429014296 }
@@ -16437,10 +16443,10 @@ SDValue AArch64TargetLowering::LowerVectorSRA_SRL_SHL(SDValue Op,
1643716443 if (isVShiftLImm(Op.getOperand(1), VT, false, Cnt) && Cnt < EltSize)
1643816444 return DAG.getNode(AArch64ISD::VSHL, DL, VT, Op.getOperand(0),
1643916445 DAG.getTargetConstant(Cnt, DL, MVT::i32));
16440- return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, VT,
16441- DAG.getConstant(Intrinsic::aarch64_neon_ushl , DL,
16442- MVT::i32),
16443- Op.getOperand(0), Op.getOperand(1));
16446+ return DAG.getNode(
16447+ ISD::INTRINSIC_WO_CHAIN , DL, VT ,
16448+ DAG.getTargetConstant(Intrinsic::aarch64_neon_ushl, DL, MVT::i32),
16449+ Op.getOperand(0), Op.getOperand(1));
1644416450 case ISD::SRA:
1644516451 case ISD::SRL:
1644616452 if (VT.isScalableVector() &&
@@ -20160,7 +20166,7 @@ static SDValue performFpToIntCombine(SDNode *N, SelectionDAG &DAG,
2016020166 : Intrinsic::aarch64_neon_vcvtfp2fxu;
2016120167 SDValue FixConv =
2016220168 DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, ResTy,
20163- DAG.getConstant (IntrinsicOpcode, DL, MVT::i32),
20169+ DAG.getTargetConstant (IntrinsicOpcode, DL, MVT::i32),
2016420170 Op->getOperand(0), DAG.getTargetConstant(C, DL, MVT::i32));
2016520171 // We can handle smaller integers by generating an extra trunc.
2016620172 if (IntBits < FloatBits)
@@ -27416,8 +27422,8 @@ static SDValue combineSVEPrefetchVecBaseImmOff(SDNode *N, SelectionDAG &DAG,
2741627422 // ...and remap the intrinsic `aarch64_sve_prf<T>_gather_scalar_offset` to
2741727423 // `aarch64_sve_prfb_gather_uxtw_index`.
2741827424 SDLoc DL(N);
27419- Ops[1] = DAG.getConstant (Intrinsic::aarch64_sve_prfb_gather_uxtw_index, DL ,
27420- MVT::i64);
27425+ Ops[1] = DAG.getTargetConstant (Intrinsic::aarch64_sve_prfb_gather_uxtw_index,
27426+ DL, MVT::i64);
2742127427
2742227428 return DAG.getNode(N->getOpcode(), DL, DAG.getVTList(MVT::Other), Ops);
2742327429}
@@ -31251,10 +31257,10 @@ static SDValue GenerateFixedLengthSVETBL(SDValue Op, SDValue Op1, SDValue Op2,
3125131257
3125231258 SDValue Shuffle;
3125331259 if (IsSingleOp)
31254- Shuffle =
31255- DAG.getNode( ISD::INTRINSIC_WO_CHAIN, DL, ContainerVT,
31256- DAG.getConstant (Intrinsic::aarch64_sve_tbl, DL, MVT::i32),
31257- Op1, SVEMask);
31260+ Shuffle = DAG.getNode(
31261+ ISD::INTRINSIC_WO_CHAIN, DL, ContainerVT,
31262+ DAG.getTargetConstant (Intrinsic::aarch64_sve_tbl, DL, MVT::i32), Op1 ,
31263+ SVEMask);
3125831264 else if (Subtarget.hasSVE2()) {
3125931265 if (!MinMaxEqual) {
3126031266 unsigned MinNumElts = AArch64::SVEBitsPerBlock / BitsPerElt;
@@ -31273,10 +31279,10 @@ static SDValue GenerateFixedLengthSVETBL(SDValue Op, SDValue Op1, SDValue Op2,
3127331279 SVEMask = convertToScalableVector(
3127431280 DAG, getContainerForFixedLengthVector(DAG, MaskType), UpdatedVecMask);
3127531281 }
31276- Shuffle =
31277- DAG.getNode( ISD::INTRINSIC_WO_CHAIN, DL, ContainerVT,
31278- DAG.getConstant (Intrinsic::aarch64_sve_tbl2, DL, MVT::i32),
31279- Op1, Op2, SVEMask);
31282+ Shuffle = DAG.getNode(
31283+ ISD::INTRINSIC_WO_CHAIN, DL, ContainerVT,
31284+ DAG.getTargetConstant (Intrinsic::aarch64_sve_tbl2, DL, MVT::i32), Op1 ,
31285+ Op2, SVEMask);
3128031286 }
3128131287 Shuffle = convertFromScalableVector(DAG, VT, Shuffle);
3128231288 return DAG.getNode(ISD::BITCAST, DL, Op.getValueType(), Shuffle);
@@ -31436,8 +31442,8 @@ SDValue AArch64TargetLowering::LowerFixedLengthVECTOR_SHUFFLEToSVE(
3143631442 unsigned SegmentElts = VT.getVectorNumElements() / Segments;
3143731443 if (std::optional<unsigned> Lane =
3143831444 isDUPQMask(ShuffleMask, Segments, SegmentElts)) {
31439- SDValue IID =
31440- DAG.getConstant(Intrinsic::aarch64_sve_dup_laneq, DL, MVT::i64);
31445+ SDValue IID = DAG.getTargetConstant(Intrinsic::aarch64_sve_dup_laneq,
31446+ DL, MVT::i64);
3144131447 return convertFromScalableVector(
3144231448 DAG, VT,
3144331449 DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, ContainerVT,
0 commit comments