Lines Matching defs:SETCC
980 if (N.getOpcode() == ISD::SETCC) {
1285 if (N1->getOpcode() == ISD::SETCC && N00->getOpcode() == ISD::SETCC &&
1286 N01->getOpcode() == ISD::SETCC) {
1919 case ISD::SETCC: return visitSETCC(N);
5722 if (N0.getOperand(0).getOpcode() != ISD::SETCC)
6222 TLI.isOperationLegal(ISD::SETCC, OpVT))))
6300 "Invalid Op to combine SETCC with");
6305 if (LHS->getOpcode() != ISD::SETCC || RHS->getOpcode() != ISD::SETCC ||
6432 return DAG.getNode(ISD::SETCC, DL, VT, AbsOp,
6462 return DAG.getNode(ISD::SETCC, DL, VT, AndOp,
6470 return DAG.getNode(ISD::SETCC, DL, VT, AndOp,
9633 case ISD::SETCC:
10061 if (N01CV && N01CV->isConstant() && N00.getOpcode() == ISD::SETCC &&
11558 if (Cond.getOpcode() != ISD::SETCC || !Cond.hasOneUse() ||
11588 if (Cond.getOpcode() != ISD::SETCC || !Cond->hasOneUse())
11623 // can find the SETCC that produced it and inspect its operands. This is
11624 // fairly easy if C is the SETCC node, but it can potentially be
11994 if (N0.getOpcode() == ISD::SETCC) {
12644 if (N0.getOpcode() == ISD::SETCC) {
12704 TLI.isOperationLegalOrCustom(ISD::SETCC, WideVT)) {
12916 if (SCC.getOpcode() == ISD::SETCC) {
12948 if (PreferSetCC && Combined.getOpcode() != ISD::SETCC) {
13074 // If Carry is false, fold to a regular SETCC.
13076 return DAG.getNode(ISD::SETCC, SDLoc(N), N->getVTList(), LHS, RHS, Cond);
13256 // FIXME: Only extend SETCC N, N and SETCC N, c for now.
13257 if (ExtOpc != ISD::ANY_EXTEND && User->getOpcode() == ISD::SETCC) {
13317 CombineTo(SetCC, DAG.getNode(ISD::SETCC, DL, SetCC->getValueType(0), Ops));
13516 VSel.getOperand(0).getOpcode() != ISD::SETCC)
13589 if (User->getOpcode() == ISD::SETCC) {
13701 if (LegalOperations || SetCC.getOpcode() != ISD::SETCC ||
13733 if (N0.getOpcode() != ISD::SETCC)
13746 // On some architectures (such as SSE/NEON/etc) the SETCC result type is
13775 if (N0.hasOneUse() && TLI.isOperationLegalOrCustom(ISD::SETCC, VT) &&
13776 !TLI.isOperationLegalOrCustom(ISD::SETCC, SVT)) {
13846 (!LegalOperations || TLI.isOperationLegal(ISD::SETCC, N00VT))) {
14359 if (N0.getOpcode() == ISD::SETCC) {
14377 SDValue VSetCC = DAG.getNode(ISD::SETCC, DL, VT, N0.getOperand(0),
14387 DAG.getNode(ISD::SETCC, DL, MatchingVectorType, N0.getOperand(0),
14577 if (N0.getOpcode() == ISD::SETCC) {
16100 N0.getOpcode() == ISD::SETCC ||
17475 Cond.getOpcode() == ISD::SETCC && Cond.getOperand(0) == X &&
18171 if (N0.getOpcode() == ISD::SETCC && N0.getValueType() == MVT::i1 &&
18180 N0.getOperand(0).getOpcode() == ISD::SETCC && !VT.isVector() &&
18218 if (N0.getOpcode() == ISD::SETCC && !VT.isVector() &&
18620 // Variant of the previous fold where there is a SETCC in between:
18621 // BRCOND(SETCC(FREEZE(X), CONST, Cond))
18623 // BRCOND(FREEZE(SETCC(X, CONST, Cond)))
18625 // BRCOND(SETCC(X, CONST, Cond))
18626 // This is correct if FREEZE(X) has one use and SETCC(FREEZE(X), CONST, Cond)
18628 // For example, SETCC(FREEZE(X), -128, SETULT) cannot be folded to
18629 // FREEZE(SETCC(X, -128, SETULT)) because X can be poison.
18630 if (N1->getOpcode() == ISD::SETCC && N1.hasOneUse()) {
18678 if (N1.getOpcode() == ISD::SETCC &&
18772 if (Op0.getOpcode() != ISD::SETCC && Op1.getOpcode() != ISD::SETCC) {
18786 // Replace the uses of XOR with SETCC. Note, avoid this transformation if
18811 // Use SimplifySetCC to simplify SETCC's.
18818 if (Simp.getNode() && Simp.getOpcode() == ISD::SETCC)
22807 if (!IndexC || !Vec.hasOneUse() || (!TLI.isBinOp(Opc) && Opc != ISD::SETCC) ||
22816 if (Opc == ISD::SETCC &&
22834 if (Opc == ISD::SETCC) {
22841 // behaviour as the vector version of SETCC.
27752 assert(N0.getOpcode() == ISD::SETCC &&
27759 // break it down into a new SETCC node, and a new SELECT node, and then return
27766 SDValue SETCC = DAG.getNode(ISD::SETCC, SDLoc(N0),
27770 AddToWorklist(SETCC.getNode());
27771 SDValue SelectNode = DAG.getSelect(SDLoc(SCC), SCC.getValueType(), SETCC,
27806 if (Cmp.getOpcode() == ISD::SETCC) {
28266 (!LegalOperations || TLI.isOperationLegal(ISD::SETCC, CmpOpVT))) {