Lines Matching refs:CCMask
1002 // value in CCMask and a 0 when CC has a value in CCValid & ~CCMask.
1004 static IPMConversion getIPMConversion(unsigned CCValid, unsigned CCMask) {
1007 if (CCMask == (CCValid & (SystemZ::CCMASK_1 | SystemZ::CCMASK_3)))
1009 if (CCMask == (CCValid & (SystemZ::CCMASK_2 | SystemZ::CCMASK_3)))
1020 if (CCMask == (CCValid & SystemZ::CCMASK_0))
1022 if (CCMask == (CCValid & (SystemZ::CCMASK_0 | SystemZ::CCMASK_1)))
1024 if (CCMask == (CCValid & (SystemZ::CCMASK_0
1028 if (CCMask == (CCValid & SystemZ::CCMASK_3))
1030 if (CCMask == (CCValid & (SystemZ::CCMASK_1
1037 if (CCMask == (CCValid & (SystemZ::CCMASK_0 | SystemZ::CCMASK_2)))
1042 if (CCMask == (CCValid & (SystemZ::CCMASK_1 | SystemZ::CCMASK_2)))
1044 if (CCMask == (CCValid & (SystemZ::CCMASK_0 | SystemZ::CCMASK_3)))
1050 if (CCMask == (CCValid & SystemZ::CCMASK_1))
1052 if (CCMask == (CCValid & SystemZ::CCMASK_2))
1055 if (CCMask == (CCValid & (SystemZ::CCMASK_0
1059 if (CCMask == (CCValid & (SystemZ::CCMASK_0
1068 // If a comparison described by IsUnsigned, CCMask, CmpOp0 and CmpOp1
1073 unsigned &CCMask) {
1082 if ((Value == -1 && CCMask == SystemZ::CCMASK_CMP_GT) ||
1083 (Value == -1 && CCMask == SystemZ::CCMASK_CMP_LE) ||
1084 (Value == 1 && CCMask == SystemZ::CCMASK_CMP_LT) ||
1085 (Value == 1 && CCMask == SystemZ::CCMASK_CMP_GE)) {
1086 CCMask ^= SystemZ::CCMASK_CMP_EQ;
1091 // If a comparison described by IsUnsigned, CCMask, CmpOp0 and CmpOp1
1095 unsigned &CCMask) {
1122 else if (CCMask == SystemZ::CCMASK_CMP_EQ ||
1123 CCMask == SystemZ::CCMASK_CMP_NE)
1131 // Adjust CCMask and Value as necessary.
1132 if (Value == 0 && CCMask == SystemZ::CCMASK_CMP_LT)
1134 Value = 127, CCMask = SystemZ::CCMASK_CMP_GT, IsUnsigned = true;
1135 else if (Value == 0 && CCMask == SystemZ::CCMASK_CMP_GE)
1137 Value = 128, CCMask = SystemZ::CCMASK_CMP_LT, IsUnsigned = true;
1251 // CCMask says which comparison result is being tested and BitSize is
1254 static unsigned getTestUnderMaskCond(unsigned BitSize, unsigned CCMask,
1275 if (CCMask == SystemZ::CCMASK_CMP_EQ)
1277 if (CCMask == SystemZ::CCMASK_CMP_NE)
1281 if (CCMask == SystemZ::CCMASK_CMP_LT)
1283 if (CCMask == SystemZ::CCMASK_CMP_GE)
1287 if (CCMask == SystemZ::CCMASK_CMP_LE)
1289 if (CCMask == SystemZ::CCMASK_CMP_GT)
1295 if (CCMask == SystemZ::CCMASK_CMP_EQ)
1297 if (CCMask == SystemZ::CCMASK_CMP_NE)
1301 if (CCMask == SystemZ::CCMASK_CMP_GT)
1303 if (CCMask == SystemZ::CCMASK_CMP_LE)
1307 if (CCMask == SystemZ::CCMASK_CMP_GE)
1309 if (CCMask == SystemZ::CCMASK_CMP_LT)
1315 if (CCMask == SystemZ::CCMASK_CMP_LE)
1317 if (CCMask == SystemZ::CCMASK_CMP_GT)
1321 if (CCMask == SystemZ::CCMASK_CMP_LT)
1323 if (CCMask == SystemZ::CCMASK_CMP_GE)
1330 if (CCMask == SystemZ::CCMASK_CMP_EQ && CmpVal == Low)
1332 if (CCMask == SystemZ::CCMASK_CMP_NE && CmpVal == Low)
1334 if (CCMask == SystemZ::CCMASK_CMP_EQ && CmpVal == High)
1336 if (CCMask == SystemZ::CCMASK_CMP_NE && CmpVal == High)
1346 // tested is as described by CCValid and CCMask. Update the arguments
1350 unsigned &CCValid, unsigned &CCMask,
1375 (NewCCMask = getTestUnderMaskCond(BitSize, CCMask, MaskVal >> ShiftVal,
1383 (NewCCMask = getTestUnderMaskCond(BitSize, CCMask,
1390 NewCCMask = getTestUnderMaskCond(BitSize, CCMask, MaskVal, CmpVal,
1403 CCMask = NewCCMask;
1408 // 2-bit results and CCMask to the subset of those results that are
1413 unsigned &CCMask) {
1415 CCMask = CCMaskForCondCode(Cond);
1421 IsUnsigned = CCMask & SystemZ::CCMASK_CMP_UO;
1423 CCMask &= CCValid;
1424 adjustZeroCmp(DAG, IsUnsigned, CmpOp0, CmpOp1, CCMask);
1425 adjustSubwordCmp(DAG, IsUnsigned, CmpOp0, CmpOp1, CCMask);
1432 if (CCMask == SystemZ::CCMASK_CMP_EQ ||
1433 CCMask == SystemZ::CCMASK_CMP_NE ||
1444 CCMask = ((CCMask & SystemZ::CCMASK_CMP_EQ) |
1445 (CCMask & SystemZ::CCMASK_CMP_GT ? SystemZ::CCMASK_CMP_LT : 0) |
1446 (CCMask & SystemZ::CCMASK_CMP_LT ? SystemZ::CCMASK_CMP_GT : 0) |
1447 (CCMask & SystemZ::CCMASK_CMP_UO));
1450 adjustForTestUnderMask(DAG, Opcode, CmpOp0, CmpOp1, CCValid, CCMask,
1496 unsigned CCValid, CCMask;
1497 SDValue Glue = emitCmp(TM, DAG, DL, CmpOp0, CmpOp1, CC, CCValid, CCMask);
1499 IPMConversion Conversion = getIPMConversion(CCValid, CCMask);
1527 unsigned CCValid, CCMask;
1528 SDValue Flags = emitCmp(TM, DAG, DL, CmpOp0, CmpOp1, CC, CCValid, CCMask);
1531 DAG.getConstant(CCMask, MVT::i32), Dest, Flags);
1543 unsigned CCValid, CCMask;
1544 SDValue Flags = emitCmp(TM, DAG, DL, CmpOp0, CmpOp1, CC, CCValid, CCMask);
1550 Ops.push_back(DAG.getConstant(CCMask, MVT::i32));
2290 unsigned CCMask = MI->getOperand(4).getImm();
2298 // BRC CCMask, JoinMBB
2302 .addImm(CCValid).addImm(CCMask).addMBB(JoinMBB);
2339 unsigned CCMask = MI->getOperand(5).getImm();
2349 CCMask ^= CCValid;
2352 .addImm(CCValid).addImm(CCMask);
2359 CCMask ^= CCValid;
2366 // BRC CCMask, JoinMBB
2370 .addImm(CCValid).addImm(CCMask).addMBB(JoinMBB);