Lines Matching refs:SELECT_CC
549 // isSetCCEquivalent - Return true if this node is a setcc, or is a select_cc
562 if (N.getOpcode() == ISD::SELECT_CC &&
1140 case ISD::SELECT_CC: return visitSELECT_CC(N);
3464 case ISD::SELECT_CC:
4206 // Check against MVT::Other for SELECT_CC, which is a workaround for targets
4207 // having to say they don't support SELECT_CC on every type the DAG knows
4209 if (TLI.isOperationLegalOrCustom(ISD::SELECT_CC, MVT::Other) &&
4210 TLI.isOperationLegalOrCustom(ISD::SELECT_CC, VT))
4211 return DAG.getNode(ISD::SELECT_CC, SDLoc(N), VT,
4268 // fold select_cc lhs, rhs, x, x, cc -> x
4285 // Fold to a simpler select_cc
4287 return DAG.getNode(ISD::SELECT_CC, SDLoc(N), N2.getValueType(),
4296 // fold select_cc into other things, such as min/max/abs
4582 // sext(setcc x, y, cc) -> (select_cc x, y, -1, 0, cc)
4882 // zext(setcc x,y,cc) -> select_cc x, y, 1, 0, cc
5062 // aext(setcc x,y,cc) -> select_cc x, y, 1, 0, cc
6475 // The next optimizations are desireable only if SELECT_CC can be lowered.
6476 // Check against MVT::Other for SELECT_CC, which is a workaround for targets
6477 // having to say they don't support SELECT_CC on every type the DAG knows
6480 if (TLI.isOperationLegalOrCustom(ISD::SELECT_CC, MVT::Other)) {
6481 // fold (sint_to_fp (setcc x, y, cc)) -> (select_cc x, y, -1.0, 0.0,, cc)
6490 return DAG.getNode(ISD::SELECT_CC, SDLoc(N), VT, Ops, 5);
6494 // (select_cc x, y, 1.0, 0.0,, cc)
6503 return DAG.getNode(ISD::SELECT_CC, SDLoc(N), VT, Ops, 5);
6532 // The next optimizations are desireable only if SELECT_CC can be lowered.
6533 // Check against MVT::Other for SELECT_CC, which is a workaround for targets
6534 // having to say they don't support SELECT_CC on every type the DAG knows
6537 if (TLI.isOperationLegalOrCustom(ISD::SELECT_CC, MVT::Other)) {
6538 // fold (uint_to_fp (setcc x, y, cc)) -> (select_cc x, y, -1.0, 0.0,, cc)
6547 return DAG.getNode(ISD::SELECT_CC, SDLoc(N), VT, Ops, 5);
9633 // If we got a simplified select_cc node back from SimplifySelectCC, then
9637 // Check to see if we got a select_cc back (to turn into setcc/select).
9639 if (SCC.getOpcode() == ISD::SELECT_CC) {
9654 /// SimplifySelectOps - Given a SELECT or a SELECT_CC node, where LHS and RHS
9719 } else { // Otherwise SELECT_CC
9729 Addr = DAG.getNode(ISD::SELECT_CC, SDLoc(TheSelect),
9788 // fold select_cc true, x, y -> x
9791 // fold select_cc false, x, y -> y
9866 // (select_cc setlt X, 0, A, 0) -> (and (sra X, (sub size(X), 1), A)
9907 // fold (select_cc seteq (and x, y), 0, 0, A) -> (and (shr (shl x)) A)
9909 // A plaintext description would be, we can turn the SELECT_CC into an AND
10025 // select_cc setg[te] X, 0, X, -X ->
10026 // select_cc setgt X, -1, X, -X ->
10027 // select_cc setl[te] X, 0, -X, X ->
10028 // select_cc setlt X, 1, -X, X ->