Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp =================================================================== --- llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -6938,16 +6938,16 @@ case Intrinsic::get_active_lane_mask: { auto DL = getCurSDLoc(); SDValue Index = getValue(I.getOperand(0)); - SDValue BTC = getValue(I.getOperand(1)); + SDValue TripCount = getValue(I.getOperand(1)); Type *ElementTy = I.getOperand(0)->getType(); EVT VT = TLI.getValueType(DAG.getDataLayout(), I.getType()); unsigned VecWidth = VT.getVectorNumElements(); - SmallVector OpsBTC; + SmallVector OpsTripCount; SmallVector OpsIndex; SmallVector OpsStepConstants; for (unsigned i = 0; i < VecWidth; i++) { - OpsBTC.push_back(BTC); + OpsTripCount.push_back(TripCount); OpsIndex.push_back(Index); OpsStepConstants.push_back(DAG.getConstant(i, DL, MVT::getVT(ElementTy))); } @@ -6960,9 +6960,9 @@ SDValue VectorStep = DAG.getBuildVector(VecTy, DL, OpsStepConstants); SDValue VectorInduction = DAG.getNode( ISD::UADDO, DL, DAG.getVTList(VecTy, CCVT), VectorIndex, VectorStep); - SDValue VectorBTC = DAG.getBuildVector(VecTy, DL, OpsBTC); + SDValue VectorTripCount = DAG.getBuildVector(VecTy, DL, OpsTripCount); SDValue SetCC = DAG.getSetCC(DL, CCVT, VectorInduction.getValue(0), - VectorBTC, ISD::CondCode::SETULE); + VectorTripCount, ISD::CondCode::SETULT); setValue(&I, DAG.getNode(ISD::AND, DL, CCVT, DAG.getNOT(DL, VectorInduction.getValue(1), CCVT), SetCC)); Index: llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-round.ll =================================================================== --- llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-round.ll +++ llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-round.ll @@ -254,7 +254,7 @@ ; CHECK-NEXT: adds r2, #4 ; CHECK-NEXT: vpnot ; CHECK-NEXT: vpstt -; CHECK-NEXT: vcmpt.u32 cs, q1, q2 +; CHECK-NEXT: vcmpt.u32 hi, q1, q2 ; CHECK-NEXT: vldrwt.u32 q2, [r0], #16 ; CHECK-NEXT: vrintr.f32 s15, s11 ; CHECK-NEXT: vrintr.f32 s14, s10 Index: llvm/test/CodeGen/Thumb2/active_lane_mask.ll =================================================================== --- llvm/test/CodeGen/Thumb2/active_lane_mask.ll +++ llvm/test/CodeGen/Thumb2/active_lane_mask.ll @@ -13,7 +13,7 @@ ; CHECK-NEXT: vdup.32 q1, r1 ; CHECK-NEXT: vpnot ; CHECK-NEXT: vpst -; CHECK-NEXT: vcmpt.u32 cs, q1, q0 +; CHECK-NEXT: vcmpt.u32 hi, q1, q0 ; CHECK-NEXT: vmov d0, r2, r3 ; CHECK-NEXT: vldr d1, [sp] ; CHECK-NEXT: vldrw.u32 q1, [r0] @@ -43,7 +43,7 @@ ; CHECK-NEXT: vmov.i8 q1, #0x0 ; CHECK-NEXT: vmov.i8 q2, #0xff ; CHECK-NEXT: vadd.i32 q3, q0, r0 -; CHECK-NEXT: vcmp.u32 cs, q5, q3 +; CHECK-NEXT: vcmp.u32 hi, q5, q3 ; CHECK-NEXT: vpsel q4, q2, q1 ; CHECK-NEXT: vmov r1, s16 ; CHECK-NEXT: vmov.16 q0[0], r1 @@ -56,7 +56,7 @@ ; CHECK-NEXT: adr r1, .LCPI1_1 ; CHECK-NEXT: vldrw.u32 q4, [r1] ; CHECK-NEXT: vadd.i32 q4, q4, r0 -; CHECK-NEXT: vcmp.u32 cs, q5, q4 +; CHECK-NEXT: vcmp.u32 hi, q5, q4 ; CHECK-NEXT: vpsel q5, q2, q1 ; CHECK-NEXT: vmov r1, s20 ; CHECK-NEXT: vmov.16 q0[4], r1 @@ -128,7 +128,7 @@ ; CHECK-NEXT: vmov.i8 q5, #0x0 ; CHECK-NEXT: vmov.i8 q4, #0xff ; CHECK-NEXT: vadd.i32 q1, q0, r0 -; CHECK-NEXT: vcmp.u32 cs, q7, q1 +; CHECK-NEXT: vcmp.u32 hi, q7, q1 ; CHECK-NEXT: vpsel q0, q4, q5 ; CHECK-NEXT: vmov r1, s0 ; CHECK-NEXT: vmov.16 q2[0], r1 @@ -141,7 +141,7 @@ ; CHECK-NEXT: adr r1, .LCPI2_1 ; CHECK-NEXT: vldrw.u32 q0, [r1] ; CHECK-NEXT: vadd.i32 q3, q0, r0 -; CHECK-NEXT: vcmp.u32 cs, q7, q3 +; CHECK-NEXT: vcmp.u32 hi, q7, q3 ; CHECK-NEXT: vpsel q0, q4, q5 ; CHECK-NEXT: vmov r1, s0 ; CHECK-NEXT: vmov.16 q2[4], r1 @@ -172,7 +172,7 @@ ; CHECK-NEXT: adr r1, .LCPI2_2 ; CHECK-NEXT: vldrw.u32 q0, [r1] ; CHECK-NEXT: vadd.i32 q0, q0, r0 -; CHECK-NEXT: vcmp.u32 cs, q7, q0 +; CHECK-NEXT: vcmp.u32 hi, q7, q0 ; CHECK-NEXT: vstrw.32 q0, [sp] @ 16-byte Spill ; CHECK-NEXT: vpsel q6, q4, q5 ; CHECK-NEXT: vmov r1, s24 @@ -186,7 +186,7 @@ ; CHECK-NEXT: adr r1, .LCPI2_3 ; CHECK-NEXT: vldrw.u32 q6, [r1] ; CHECK-NEXT: vadd.i32 q6, q6, r0 -; CHECK-NEXT: vcmp.u32 cs, q7, q6 +; CHECK-NEXT: vcmp.u32 hi, q7, q6 ; CHECK-NEXT: vpsel q7, q4, q5 ; CHECK-NEXT: vmov r1, s28 ; CHECK-NEXT: vmov.16 q0[4], r1