Lines Matching defs:CMOV
1738 MAKE_CASE(ARMISD::CMOV)
5079 DAG.getNode(ARMISD::CMOV, dl, VT, TVal, FVal, ARMcc, OverflowCmp);
5226 if (Cond.getOpcode() == ARMISD::CMOV && Cond.hasOneUse()) {
5326 SDValue Low = DAG.getNode(ARMISD::CMOV, dl, MVT::i32, FalseLow, TrueLow,
5328 SDValue High = DAG.getNode(ARMISD::CMOV, dl, MVT::i32, FalseHigh, TrueHigh,
5333 return DAG.getNode(ARMISD::CMOV, dl, VT, FalseVal, TrueVal, ARMcc, Flags);
6395 DAG.getNode(ARMISD::CMOV, dl, VT, LoSmallShift, LoBigShift, ARMcc, CmpLo);
6405 DAG.getNode(ARMISD::CMOV, dl, VT, HiSmallShift, HiBigShift, ARMcc, CmpHi);
6437 DAG.getNode(ARMISD::CMOV, dl, VT, HiSmallShift, HiBigShift, ARMcc, CmpHi);
6442 SDValue Lo = DAG.getNode(ARMISD::CMOV, dl, VT, LoSmallShift,
7030 return DAG.getNode(ARMISD::CMOV, DL, Op.getValueType(), FVal, TVal, ARMcc,
15039 // or CMPZ(CMOV(1, 0, CC, X))
15060 if (CSInc.getOpcode() == ARMISD::CMOV && isOneConstant(CSInc.getOperand(0)) &&
15065 if (CSInc.getOpcode() == ARMISD::CMOV && isOneConstant(CSInc.getOperand(1)) &&
18142 SDValue ARMTargetLowering::PerformCMOVToBFICombine(SDNode *CMOV, SelectionDAG &DAG) const {
18143 // If we have a CMOV, OR and AND combination such as:
18156 SDValue Op0 = CMOV->getOperand(0);
18157 SDValue Op1 = CMOV->getOperand(1);
18158 auto CC = CMOV->getConstantOperandAPInt(2).getLimitedValue();
18159 SDValue CmpZ = CMOV->getOperand(3);
18419 LHS->getOperand(0)->getOpcode() == ARMISD::CMOV &&
18432 /// PerformCMOVCombine - Target-specific DAG combining for ARMISD::CMOV.
18475 Res = DAG.getNode(ARMISD::CMOV, dl, VT, LHS, TrueVal, ARMcc, Cmp);
18479 Res = DAG.getNode(ARMISD::CMOV, dl, VT, LHS, FalseVal, ARMcc, NewCmp);
18484 if (CC == ARMCC::NE && LHS.getOpcode() == ARMISD::CMOV && LHS->hasOneUse() &&
18487 return DAG.getNode(ARMISD::CMOV, dl, VT, FalseVal, TrueVal,
18494 // Fold away an unneccessary CMPZ/CMOV
18495 // CMOV A, B, C1, (CMPZ (CMOV 1, 0, C2, D), 0) ->
18496 // if C1==EQ -> CMOV A, B, C2, D
18497 // if C1==NE -> CMOV A, B, NOT(C2), D
18516 // CMOV 0, 1, ==, (CMPZ x, y) -> SRL (CTLZ (SUB x, y)), 5
18521 // CMOV 0, 1, ==, (CMPZ x, y) ->
18543 // CMOV 0, z, !=, (CMPZ x, y) -> CMOV (SUBC x, y), z, !=, (SUBC x, y):1
18546 Res = DAG.getNode(ARMISD::CMOV, dl, VT, Sub, TrueVal, ARMcc,
18555 // CMOV z, 0, ==, (CMPZ x, y) -> CMOV (SUBC x, y), z, !=, (SUBC x, y):1
18558 Res = DAG.getNode(ARMISD::CMOV, dl, VT, Sub, FalseVal,
18567 // CMOV (SUBC x, y), z, !=, (SUBC x, y):1 ->
18574 // CMOV x, z, !=, (CMPZ x, 0) ->
18987 case ARMISD::CMOV:
20011 case ARMISD::CMOV: {