Lines Matching defs:AllOnes
1321 static inline bool isZeroOrAllOnes(SDValue N, bool AllOnes) {
1322 return AllOnes ? isAllOnesConstant(N) : isNullConstant(N);
1328 // (select cc 0, y) [AllOnes=0]
1329 // (select cc y, 0) [AllOnes=0]
1330 // (zext cc) [AllOnes=0]
1331 // (sext cc) [AllOnes=0/1]
1332 // (select cc -1, y) [AllOnes=1]
1333 // (select cc y, -1) [AllOnes=1]
1335 // * AllOnes determines whether to check for an all zero (AllOnes false) or an
1336 // all ones operand (AllOnes true).
1340 // For example, for (select cc X, Y) and AllOnes = 0 if:
1343 static bool isConditionalZeroOrAllOnes(SDNode *N, bool AllOnes, SDValue &CC,
1353 if (isZeroOrAllOnes(N1, AllOnes)) {
1358 if (isZeroOrAllOnes(N2, AllOnes)) {
1367 if (AllOnes)
1384 Invert = !AllOnes;
1385 if (AllOnes)
1386 // When looking for an AllOnes constant, N is an sext, and the 'other'
1400 // (and (select cc, -1, c), x) -> (select cc, x, (and, x, c)) [AllOnes=1]
1405 // is null, or all ones when AllOnes is set.
1415 bool AllOnes) {
1421 if (!isConditionalZeroOrAllOnes(Slct.getNode(), AllOnes, CCOp, SwapSelectOps,
1439 bool AllOnes) {
1443 if (SDValue Result = combineSelectAndUse(N, N0, N1, DCI, AllOnes))
1446 if (SDValue Result = combineSelectAndUse(N, N1, N0, DCI, AllOnes))
1459 if (SDValue Result = combineSelectAndUse(N, N1, N0, DCI, /*AllOnes=*/false))
1473 return combineSelectAndUseCommutative(N, DCI, /*AllOnes=*/false);
1475 return combineSelectAndUseCommutative(N, DCI, /*AllOnes=*/true);