Lines Matching defs:CCMask

42       Opcode(0), ICmpType(0), CCValid(0), CCMask(0) {}
60 unsigned CCMask;
2475 if ((Value == -1 && C.CCMask == SystemZ::CCMASK_CMP_GT) ||
2476 (Value == -1 && C.CCMask == SystemZ::CCMASK_CMP_LE) ||
2477 (Value == 1 && C.CCMask == SystemZ::CCMASK_CMP_LT) ||
2478 (Value == 1 && C.CCMask == SystemZ::CCMASK_CMP_GE)) {
2479 C.CCMask ^= SystemZ::CCMASK_CMP_EQ;
2520 // Adjust CCMask and Value as necessary.
2521 if (Value == 0 && C.CCMask == SystemZ::CCMASK_CMP_LT)
2523 Value = 127, C.CCMask = SystemZ::CCMASK_CMP_GT;
2524 else if (Value == 0 && C.CCMask == SystemZ::CCMASK_CMP_GE)
2526 Value = 128, C.CCMask = SystemZ::CCMASK_CMP_LT;
2647 if (C.CCMask == SystemZ::CCMASK_CMP_EQ ||
2648 C.CCMask == SystemZ::CCMASK_CMP_NE) {
2681 C.CCMask = SystemZ::reverseCCMask(C.CCMask);
2754 // CCMask says which comparison result is being tested and BitSize is
2757 static unsigned getTestUnderMaskCond(unsigned BitSize, unsigned CCMask,
2777 if (CCMask == SystemZ::CCMASK_CMP_EQ)
2779 if (CCMask == SystemZ::CCMASK_CMP_NE)
2783 if (CCMask == SystemZ::CCMASK_CMP_LT)
2785 if (CCMask == SystemZ::CCMASK_CMP_GE)
2789 if (CCMask == SystemZ::CCMASK_CMP_LE)
2791 if (CCMask == SystemZ::CCMASK_CMP_GT)
2797 if (CCMask == SystemZ::CCMASK_CMP_EQ)
2799 if (CCMask == SystemZ::CCMASK_CMP_NE)
2803 if (CCMask == SystemZ::CCMASK_CMP_GT)
2805 if (CCMask == SystemZ::CCMASK_CMP_LE)
2809 if (CCMask == SystemZ::CCMASK_CMP_GE)
2811 if (CCMask == SystemZ::CCMASK_CMP_LT)
2817 if (CCMask == SystemZ::CCMASK_CMP_LE)
2819 if (CCMask == SystemZ::CCMASK_CMP_GT)
2823 if (CCMask == SystemZ::CCMASK_CMP_LT)
2825 if (CCMask == SystemZ::CCMASK_CMP_GE)
2832 if (CCMask == SystemZ::CCMASK_CMP_EQ && CmpVal == Low)
2834 if (CCMask == SystemZ::CCMASK_CMP_NE && CmpVal == Low)
2836 if (CCMask == SystemZ::CCMASK_CMP_EQ && CmpVal == High)
2838 if (CCMask == SystemZ::CCMASK_CMP_NE && CmpVal == High)
2854 (C.CCMask == SystemZ::CCMASK_CMP_EQ ||
2855 C.CCMask == SystemZ::CCMASK_CMP_NE)) {
2862 if (C.CCMask == SystemZ::CCMASK_CMP_EQ)
2863 C.CCMask = SystemZ::CCMASK_VCMP_ALL;
2865 C.CCMask = SystemZ::CCMASK_VCMP_ALL ^ C.CCValid;
2893 NewC.CCMask == SystemZ::CCMASK_CMP_EQ ||
2894 NewC.CCMask == SystemZ::CCMASK_CMP_NE ||
2898 if (NewC.CCMask == SystemZ::CCMASK_CMP_LE ||
2899 NewC.CCMask == SystemZ::CCMASK_CMP_GT) {
2903 NewC.CCMask ^= SystemZ::CCMASK_CMP_EQ;
2922 (NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask,
2933 (NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask,
2940 NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask, MaskVal, CmpVal,
2954 C.CCMask = NewCCMask;
2966 if (C.CCMask == SystemZ::CCMASK_CMP_EQ ||
2967 C.CCMask == SystemZ::CCMASK_CMP_NE) {
2972 if (C.CCMask == SystemZ::CCMASK_CMP_EQ)
2973 C.CCMask = SystemZ::CCMASK_VCMP_ALL;
2975 C.CCMask = SystemZ::CCMASK_VCMP_ALL ^ C.CCValid;
2981 switch (C.CCMask) {
2996 C.CCMask = SystemZ::CCMASK_1;
2999 C.CCMask ^= C.CCValid;
3031 C.CCMask = CC < 4 ? 1 << (3 - CC) : 0;
3034 C.CCMask = CC < 4 ? ~(1 << (3 - CC)) : -1;
3038 C.CCMask = CC < 4 ? ~0U << (4 - CC) : -1;
3041 C.CCMask = CC < 4 ? ~(~0U << (4 - CC)) : 0;
3045 C.CCMask = CC < 4 ? ~0U << (3 - CC) : -1;
3048 C.CCMask = CC < 4 ? ~(~0U << (3 - CC)) : 0;
3051 C.CCMask &= CCValid;
3075 C.CCMask = CCMaskForCondCode(Cond);
3094 if (C.CCMask == SystemZ::CCMASK_CMP_EQ ||
3095 C.CCMask == SystemZ::CCMASK_CMP_NE ||
3098 else if (C.CCMask & SystemZ::CCMASK_CMP_UO)
3102 C.CCMask &= ~SystemZ::CCMASK_CMP_UO;
3113 C.CCMask = SystemZ::reverseCCMask(C.CCMask);
3140 bool RegisterOnly = (bool(C.CCMask & SystemZ::CCMASK_TM_MIXED_MSB_0) !=
3141 bool(C.CCMask & SystemZ::CCMASK_TM_MIXED_MSB_1));
3186 // in the mask CCMask and 0 otherwise. CC is known to have a value
3189 unsigned CCValid, unsigned CCMask) {
3193 DAG.getTargetConstant(CCMask, DL, MVT::i32), CCReg};
3414 return emitSETCC(DAG, DL, CCReg, C.CCValid, C.CCMask);
3435 SDValue Result = emitSETCC(DAG, DL, CCReg, C.CCValid, C.CCMask);
3452 DAG.getTargetConstant(C.CCMask, DL, MVT::i32), Dest, CCReg);
3489 if (C.Opcode == SystemZISD::ICMP && C.CCMask != SystemZ::CCMASK_CMP_EQ &&
3490 C.CCMask != SystemZ::CCMASK_CMP_NE &&
3495 return getAbsolute(DAG, DL, TrueOp, C.CCMask & SystemZ::CCMASK_CMP_LT);
3497 return getAbsolute(DAG, DL, FalseOp, C.CCMask & SystemZ::CCMASK_CMP_GT);
3503 DAG.getTargetConstant(C.CCMask, DL, MVT::i32), CCReg};
4306 unsigned CCMask = 0;
4313 CCMask = SystemZ::CCMASK_ARITH_OVERFLOW;
4318 CCMask = SystemZ::CCMASK_ARITH_OVERFLOW;
4323 CCMask = SystemZ::CCMASK_LOGICAL_CARRY;
4328 CCMask = SystemZ::CCMASK_LOGICAL_BORROW;
4335 SDValue SetCC = emitSETCC(DAG, DL, Result.getValue(1), CCValid, CCMask);
4403 unsigned CCMask = 0;
4413 CCMask = SystemZ::CCMASK_LOGICAL_CARRY;
4421 CCMask = SystemZ::CCMASK_LOGICAL_BORROW;
4428 DAG.getConstant(CCMask, DL, MVT::i32));
4433 SDValue SetCC = emitSETCC(DAG, DL, Result.getValue(1), CCValid, CCMask);
7580 static bool combineCCMask(SDValue &CCReg, int &CCValid, int &CCMask) {
7582 // set by the CCReg instruction using the CCValid / CCMask masks,
7602 if (CCMask == SystemZ::CCMASK_CMP_NE)
7604 else if (CCMask != SystemZ::CCMASK_CMP_EQ)
7625 CCMask = NewCCMask->getZExtValue();
7627 CCMask ^= CCValid;
7657 CCMask = SystemZ::reverseCCMask(CCMask);
7673 auto *CCMask = dyn_cast<ConstantSDNode>(N->getOperand(2));
7674 if (!CCValid || !CCMask)
7678 int CCMaskVal = CCMask->getZExtValue();
7697 auto *CCMask = dyn_cast<ConstantSDNode>(N->getOperand(3));
7698 if (!CCValid || !CCMask)
7702 int CCMaskVal = CCMask->getZExtValue();
7720 auto *CCMask = dyn_cast<ConstantSDNode>(N->getOperand(2));
7721 if (!CCValid || !CCMask)
7724 int CCMaskVal = CCMask->getZExtValue();
8242 unsigned CCMask = FirstMI->getOperand(4).getImm();
8262 if (MI->getOperand(4).getImm() == (CCValid ^ CCMask))
8312 unsigned CCMask = MI.getOperand(4).getImm();
8326 if (NextMI.getOperand(4).getImm() == CCMask ||
8327 NextMI.getOperand(4).getImm() == (CCValid ^ CCMask)) {
8366 // BRC CCMask, JoinMBB
8370 .addImm(CCValid).addImm(CCMask).addMBB(JoinMBB);
8410 unsigned CCMask = MI.getOperand(5).getImm();
8429 CCMask ^= CCValid;
8436 .addImm(CCMask)
8445 CCMask ^= CCValid;
8460 // BRC CCMask, JoinMBB
8464 .addImm(CCValid).addImm(CCMask).addMBB(JoinMBB);