Lines Matching defs:CCMask

49       Opcode(0), ICmpType(0), CCValid(0), CCMask(0) {}
67 unsigned CCMask;
2771 if ((Value == -1 && C.CCMask == SystemZ::CCMASK_CMP_GT) ||
2772 (Value == -1 && C.CCMask == SystemZ::CCMASK_CMP_LE) ||
2773 (Value == 1 && C.CCMask == SystemZ::CCMASK_CMP_LT) ||
2774 (Value == 1 && C.CCMask == SystemZ::CCMASK_CMP_GE)) {
2775 C.CCMask ^= SystemZ::CCMASK_CMP_EQ;
2816 // Adjust CCMask and Value as necessary.
2817 if (Value == 0 && C.CCMask == SystemZ::CCMASK_CMP_LT)
2819 Value = 127, C.CCMask = SystemZ::CCMASK_CMP_GT;
2820 else if (Value == 0 && C.CCMask == SystemZ::CCMASK_CMP_GE)
2822 Value = 128, C.CCMask = SystemZ::CCMASK_CMP_LT;
2943 if (C.CCMask == SystemZ::CCMASK_CMP_EQ ||
2944 C.CCMask == SystemZ::CCMASK_CMP_NE) {
2974 C.CCMask = SystemZ::reverseCCMask(C.CCMask);
3047 // CCMask says which comparison result is being tested and BitSize is
3050 static unsigned getTestUnderMaskCond(unsigned BitSize, unsigned CCMask,
3070 if (CCMask == SystemZ::CCMASK_CMP_EQ)
3072 if (CCMask == SystemZ::CCMASK_CMP_NE)
3076 if (CCMask == SystemZ::CCMASK_CMP_LT)
3078 if (CCMask == SystemZ::CCMASK_CMP_GE)
3082 if (CCMask == SystemZ::CCMASK_CMP_LE)
3084 if (CCMask == SystemZ::CCMASK_CMP_GT)
3090 if (CCMask == SystemZ::CCMASK_CMP_EQ)
3092 if (CCMask == SystemZ::CCMASK_CMP_NE)
3096 if (CCMask == SystemZ::CCMASK_CMP_GT)
3098 if (CCMask == SystemZ::CCMASK_CMP_LE)
3102 if (CCMask == SystemZ::CCMASK_CMP_GE)
3104 if (CCMask == SystemZ::CCMASK_CMP_LT)
3110 if (CCMask == SystemZ::CCMASK_CMP_LE)
3112 if (CCMask == SystemZ::CCMASK_CMP_GT)
3116 if (CCMask == SystemZ::CCMASK_CMP_LT)
3118 if (CCMask == SystemZ::CCMASK_CMP_GE)
3125 if (CCMask == SystemZ::CCMASK_CMP_EQ && CmpVal == Low)
3127 if (CCMask == SystemZ::CCMASK_CMP_NE && CmpVal == Low)
3129 if (CCMask == SystemZ::CCMASK_CMP_EQ && CmpVal == High)
3131 if (CCMask == SystemZ::CCMASK_CMP_NE && CmpVal == High)
3147 (C.CCMask == SystemZ::CCMASK_CMP_EQ ||
3148 C.CCMask == SystemZ::CCMASK_CMP_NE)) {
3155 if (C.CCMask == SystemZ::CCMASK_CMP_EQ)
3156 C.CCMask = SystemZ::CCMASK_VCMP_ALL;
3158 C.CCMask = SystemZ::CCMASK_VCMP_ALL ^ C.CCValid;
3186 NewC.CCMask == SystemZ::CCMASK_CMP_EQ ||
3187 NewC.CCMask == SystemZ::CCMASK_CMP_NE ||
3191 if (NewC.CCMask == SystemZ::CCMASK_CMP_LE ||
3192 NewC.CCMask == SystemZ::CCMASK_CMP_GT) {
3196 NewC.CCMask ^= SystemZ::CCMASK_CMP_EQ;
3215 (NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask,
3226 (NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask,
3233 NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask, MaskVal, CmpVal,
3247 C.CCMask = NewCCMask;
3261 if (C.CCMask == SystemZ::CCMASK_CMP_EQ ||
3262 C.CCMask == SystemZ::CCMASK_CMP_NE) {
3267 if (C.CCMask == SystemZ::CCMASK_CMP_EQ)
3268 C.CCMask = SystemZ::CCMASK_VCMP_ALL;
3270 C.CCMask = SystemZ::CCMASK_VCMP_ALL ^ C.CCValid;
3276 switch (C.CCMask) {
3291 C.CCMask = SystemZ::CCMASK_1;
3294 C.CCMask ^= C.CCValid;
3326 C.CCMask = CC < 4 ? 1 << (3 - CC) : 0;
3329 C.CCMask = CC < 4 ? ~(1 << (3 - CC)) : -1;
3333 C.CCMask = CC < 4 ? ~0U << (4 - CC) : -1;
3336 C.CCMask = CC < 4 ? ~(~0U << (4 - CC)) : 0;
3340 C.CCMask = CC < 4 ? ~0U << (3 - CC) : -1;
3343 C.CCMask = CC < 4 ? ~(~0U << (3 - CC)) : 0;
3346 C.CCMask &= CCValid;
3370 C.CCMask = CCMaskForCondCode(Cond);
3389 if (C.CCMask == SystemZ::CCMASK_CMP_EQ ||
3390 C.CCMask == SystemZ::CCMASK_CMP_NE ||
3393 else if (C.CCMask & SystemZ::CCMASK_CMP_UO)
3397 C.CCMask &= ~SystemZ::CCMASK_CMP_UO;
3408 C.CCMask = SystemZ::reverseCCMask(C.CCMask);
3435 bool RegisterOnly = (bool(C.CCMask & SystemZ::CCMASK_TM_MIXED_MSB_0) !=
3436 bool(C.CCMask & SystemZ::CCMASK_TM_MIXED_MSB_1));
3481 // in the mask CCMask and 0 otherwise. CC is known to have a value
3484 unsigned CCValid, unsigned CCMask) {
3488 DAG.getTargetConstant(CCMask, DL, MVT::i32), CCReg};
3721 return emitSETCC(DAG, DL, CCReg, C.CCValid, C.CCMask);
3742 SDValue Result = emitSETCC(DAG, DL, CCReg, C.CCValid, C.CCMask);
3759 DAG.getTargetConstant(C.CCMask, DL, MVT::i32), Dest, CCReg);
3787 if (C.CCMask == SystemZ::CCMASK_CMP_NE ||
3788 C.CCMask == SystemZ::CCMASK_CMP_GE ||
3789 C.CCMask == SystemZ::CCMASK_CMP_LE) {
3791 C.CCMask ^= C.CCValid;
3793 if (C.CCMask == SystemZ::CCMASK_CMP_LT) {
3795 C.CCMask = SystemZ::CCMASK_CMP_GT;
3797 switch (C.CCMask) {
3832 if (C.Opcode == SystemZISD::ICMP && C.CCMask != SystemZ::CCMASK_CMP_EQ &&
3833 C.CCMask != SystemZ::CCMASK_CMP_NE &&
3838 return getAbsolute(DAG, DL, TrueOp, C.CCMask & SystemZ::CCMASK_CMP_LT);
3840 return getAbsolute(DAG, DL, FalseOp, C.CCMask & SystemZ::CCMASK_CMP_GT);
3853 DAG.getTargetConstant(C.CCMask, DL, MVT::i32), CCReg};
4674 unsigned CCMask = 0;
4681 CCMask = SystemZ::CCMASK_ARITH_OVERFLOW;
4686 CCMask = SystemZ::CCMASK_ARITH_OVERFLOW;
4691 CCMask = SystemZ::CCMASK_LOGICAL_CARRY;
4696 CCMask = SystemZ::CCMASK_LOGICAL_BORROW;
4703 SDValue SetCC = emitSETCC(DAG, DL, Result.getValue(1), CCValid, CCMask);
4775 unsigned CCMask = 0;
4785 CCMask = SystemZ::CCMASK_LOGICAL_CARRY;
4793 CCMask = SystemZ::CCMASK_LOGICAL_BORROW;
4800 DAG.getConstant(CCMask, DL, MVT::i32));
4805 SDValue SetCC = emitSETCC(DAG, DL, Result.getValue(1), CCValid, CCMask);
8033 static bool combineCCMask(SDValue &CCReg, int &CCValid, int &CCMask) {
8035 // set by the CCReg instruction using the CCValid / CCMask masks,
8055 if (CCMask == SystemZ::CCMASK_CMP_NE)
8057 else if (CCMask != SystemZ::CCMASK_CMP_EQ)
8078 CCMask = NewCCMask->getZExtValue();
8080 CCMask ^= CCValid;
8110 CCMask = SystemZ::reverseCCMask(CCMask);
8126 auto *CCMask = dyn_cast<ConstantSDNode>(N->getOperand(2));
8127 if (!CCValid || !CCMask)
8131 int CCMaskVal = CCMask->getZExtValue();
8150 auto *CCMask = dyn_cast<ConstantSDNode>(N->getOperand(3));
8151 if (!CCValid || !CCMask)
8155 int CCMaskVal = CCMask->getZExtValue();
8173 auto *CCMask = dyn_cast<ConstantSDNode>(N->getOperand(2));
8174 if (!CCValid || !CCMask)
8177 int CCMaskVal = CCMask->getZExtValue();
8695 unsigned CCMask = FirstMI->getOperand(4).getImm();
8715 if (MI->getOperand(4).getImm() == (CCValid ^ CCMask))
8765 unsigned CCMask = MI.getOperand(4).getImm();
8779 if (NextMI.getOperand(4).getImm() == CCMask ||
8780 NextMI.getOperand(4).getImm() == (CCValid ^ CCMask)) {
8819 // BRC CCMask, JoinMBB
8823 .addImm(CCValid).addImm(CCMask).addMBB(JoinMBB);
8863 unsigned CCMask = MI.getOperand(5).getImm();
8882 CCMask ^= CCValid;
8889 .addImm(CCMask)
8898 CCMask ^= CCValid;
8913 // BRC CCMask, JoinMBB
8917 .addImm(CCValid).addImm(CCMask).addMBB(JoinMBB);