@@ -3547,11 +3547,10 @@ static SDValue emitStrictFPComparison(SDValue LHS, SDValue RHS, const SDLoc &dl,
35473547 RHS = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, {MVT::f32, MVT::Other},
35483548 {LHS.getValue(1), RHS});
35493549 Chain = RHS.getValue(1);
3550- VT = MVT::f32;
35513550 }
35523551 unsigned Opcode =
35533552 IsSignaling ? AArch64ISD::STRICT_FCMPE : AArch64ISD::STRICT_FCMP;
3554- return DAG.getNode(Opcode, dl, {VT , MVT::Other}, {Chain, LHS, RHS});
3553+ return DAG.getNode(Opcode, dl, {MVT::i32 , MVT::Other}, {Chain, LHS, RHS});
35553554}
35563555
35573556static SDValue emitComparison(SDValue LHS, SDValue RHS, ISD::CondCode CC,
@@ -3564,9 +3563,8 @@ static SDValue emitComparison(SDValue LHS, SDValue RHS, ISD::CondCode CC,
35643563 if ((VT == MVT::f16 && !FullFP16) || VT == MVT::bf16) {
35653564 LHS = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f32, LHS);
35663565 RHS = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f32, RHS);
3567- VT = MVT::f32;
35683566 }
3569- return DAG.getNode(AArch64ISD::FCMP, dl, VT , LHS, RHS);
3567+ return DAG.getNode(AArch64ISD::FCMP, dl, MVT::i32 , LHS, RHS);
35703568 }
35713569
35723570 // The CMP instruction is just an alias for SUBS, and representing it as
@@ -13660,11 +13658,11 @@ SDValue AArch64TargetLowering::LowerVECTOR_SHUFFLE(SDValue Op,
1366013658 unsigned NumElts = VT.getVectorNumElements();
1366113659 unsigned EltSize = VT.getScalarSizeInBits();
1366213660 if (isREVMask(ShuffleMask, EltSize, NumElts, 64))
13663- return DAG.getNode(AArch64ISD::REV64, dl, V1.getValueType(), V1, V2 );
13661+ return DAG.getNode(AArch64ISD::REV64, dl, V1.getValueType(), V1);
1366413662 if (isREVMask(ShuffleMask, EltSize, NumElts, 32))
13665- return DAG.getNode(AArch64ISD::REV32, dl, V1.getValueType(), V1, V2 );
13663+ return DAG.getNode(AArch64ISD::REV32, dl, V1.getValueType(), V1);
1366613664 if (isREVMask(ShuffleMask, EltSize, NumElts, 16))
13667- return DAG.getNode(AArch64ISD::REV16, dl, V1.getValueType(), V1, V2 );
13665+ return DAG.getNode(AArch64ISD::REV16, dl, V1.getValueType(), V1);
1366813666
1366913667 if (((NumElts == 8 && EltSize == 16) || (NumElts == 16 && EltSize == 8)) &&
1367013668 ShuffleVectorInst::isReverseMask(ShuffleMask, ShuffleMask.size())) {
@@ -15681,7 +15679,7 @@ static SDValue EmitVectorComparison(SDValue LHS, SDValue RHS,
1568115679 if (IsZero)
1568215680 return DAG.getNode(AArch64ISD::CMGTz, dl, VT, LHS);
1568315681 if (IsMinusOne)
15684- return DAG.getNode(AArch64ISD::CMGEz, dl, VT, LHS, RHS );
15682+ return DAG.getNode(AArch64ISD::CMGEz, dl, VT, LHS);
1568515683 return DAG.getNode(AArch64ISD::CMGT, dl, VT, LHS, RHS);
1568615684 case AArch64CC::LE:
1568715685 if (IsZero)
@@ -21568,7 +21566,7 @@ static SDValue getPTest(SelectionDAG &DAG, EVT VT, SDValue Pg, SDValue Op,
2156821566 // Set condition code (CC) flags.
2156921567 SDValue Test = DAG.getNode(
2157021568 Cond == AArch64CC::ANY_ACTIVE ? AArch64ISD::PTEST_ANY : AArch64ISD::PTEST,
21571- DL, MVT::Other , Pg, Op);
21569+ DL, MVT::i32 , Pg, Op);
2157221570
2157321571 // Convert CC to integer based on requested condition.
2157421572 // NOTE: Cond is inverted to promote CSEL's removal when it feeds a compare.
@@ -26374,8 +26372,8 @@ SDValue AArch64TargetLowering::PerformDAGCombine(SDNode *N,
2637426372 : AArch64SysReg::RNDRRS);
2637526373 SDLoc DL(N);
2637626374 SDValue A = DAG.getNode(
26377- AArch64ISD::MRS, DL, DAG.getVTList(MVT::i64, MVT::Glue , MVT::Other),
26378- N->getOperand(0), DAG.getConstant(Register, DL, MVT::i64 ));
26375+ AArch64ISD::MRS, DL, DAG.getVTList(MVT::i64, MVT::i32 , MVT::Other),
26376+ N->getOperand(0), DAG.getConstant(Register, DL, MVT::i32 ));
2637926377 SDValue B = DAG.getNode(
2638026378 AArch64ISD::CSINC, DL, MVT::i32, DAG.getConstant(0, DL, MVT::i32),
2638126379 DAG.getConstant(0, DL, MVT::i32),
0 commit comments