Home | History | Annotate | Download | only in Lanai

Lines Matching refs:AllOnes

1279 static inline bool isZeroOrAllOnes(SDValue N, bool AllOnes) {
1280 return AllOnes ? isAllOnesConstant(N) : isNullConstant(N);
1286 // (select cc 0, y) [AllOnes=0]
1287 // (select cc y, 0) [AllOnes=0]
1288 // (zext cc) [AllOnes=0]
1289 // (sext cc) [AllOnes=0/1]
1290 // (select cc -1, y) [AllOnes=1]
1291 // (select cc y, -1) [AllOnes=1]
1293 // * AllOnesAllOnes false) or an
1294 // all ones operand (AllOnes true).
1298 // For example, for (select cc X, Y) and AllOnes = 0 if:
1301 static bool isConditionalZeroOrAllOnes(SDNode *N, bool AllOnes, SDValue &CC,
1311 if (isZeroOrAllOnes(N1, AllOnes)) {
1316 if (isZeroOrAllOnes(N2, AllOnes)) {
1325 if (AllOnes)
1342 Invert = !AllOnes;
1343 if (AllOnes)
1344 // When looking for an AllOnes constant, N is an sext, and the 'other'
1359 // (and (select cc, -1, c), x) -> (select cc, x, (and, x, c)) [AllOnes=1]
1364 // is null, or all ones when AllOnes is set.
1374 bool AllOnes) {
1380 if (!isConditionalZeroOrAllOnes(Slct.getNode(), AllOnes, CCOp, SwapSelectOps,
1398 bool AllOnes) {
1402 if (SDValue Result = combineSelectAndUse(N, N0, N1, DCI, AllOnes))
1405 if (SDValue Result = combineSelectAndUse(N, N1, N0, DCI, AllOnes))
1418 if (SDValue Result = combineSelectAndUse(N, N1, N0, DCI, /*AllOnes=*/false))
1432 return combineSelectAndUseCommutative(N, DCI, /*AllOnes=*/false);
1434 return combineSelectAndUseCommutative(N, DCI, /*AllOnes=*/true);