Lines Matching refs:CCMask
37 : Op0(Op0In), Op1(Op1In), Opcode(0), ICmpType(0), CCValid(0), CCMask(0) {} in Comparison()
52 unsigned CCMask; member
1752 if ((Value == -1 && C.CCMask == SystemZ::CCMASK_CMP_GT) || in adjustZeroCmp()
1753 (Value == -1 && C.CCMask == SystemZ::CCMASK_CMP_LE) || in adjustZeroCmp()
1754 (Value == 1 && C.CCMask == SystemZ::CCMASK_CMP_LT) || in adjustZeroCmp()
1755 (Value == 1 && C.CCMask == SystemZ::CCMASK_CMP_GE)) { in adjustZeroCmp()
1756 C.CCMask ^= SystemZ::CCMASK_CMP_EQ; in adjustZeroCmp()
1795 if (Value == 0 && C.CCMask == SystemZ::CCMASK_CMP_LT) in adjustSubwordCmp()
1797 Value = 127, C.CCMask = SystemZ::CCMASK_CMP_GT; in adjustSubwordCmp()
1798 else if (Value == 0 && C.CCMask == SystemZ::CCMASK_CMP_GE) in adjustSubwordCmp()
1800 Value = 128, C.CCMask = SystemZ::CCMASK_CMP_LT; in adjustSubwordCmp()
1917 static unsigned reverseCCMask(unsigned CCMask) { in reverseCCMask() argument
1918 return ((CCMask & SystemZ::CCMASK_CMP_EQ) | in reverseCCMask()
1919 (CCMask & SystemZ::CCMASK_CMP_GT ? SystemZ::CCMASK_CMP_LT : 0) | in reverseCCMask()
1920 (CCMask & SystemZ::CCMASK_CMP_LT ? SystemZ::CCMASK_CMP_GT : 0) | in reverseCCMask()
1921 (CCMask & SystemZ::CCMASK_CMP_UO)); in reverseCCMask()
1929 if (C.CCMask == SystemZ::CCMASK_CMP_EQ || in adjustForSubtraction()
1930 C.CCMask == SystemZ::CCMASK_CMP_NE) { in adjustForSubtraction()
1955 C.CCMask = reverseCCMask(C.CCMask); in adjustForFNeg()
2032 static unsigned getTestUnderMaskCond(unsigned BitSize, unsigned CCMask, in getTestUnderMaskCond() argument
2053 if (CCMask == SystemZ::CCMASK_CMP_EQ) in getTestUnderMaskCond()
2055 if (CCMask == SystemZ::CCMASK_CMP_NE) in getTestUnderMaskCond()
2059 if (CCMask == SystemZ::CCMASK_CMP_LT) in getTestUnderMaskCond()
2061 if (CCMask == SystemZ::CCMASK_CMP_GE) in getTestUnderMaskCond()
2065 if (CCMask == SystemZ::CCMASK_CMP_LE) in getTestUnderMaskCond()
2067 if (CCMask == SystemZ::CCMASK_CMP_GT) in getTestUnderMaskCond()
2073 if (CCMask == SystemZ::CCMASK_CMP_EQ) in getTestUnderMaskCond()
2075 if (CCMask == SystemZ::CCMASK_CMP_NE) in getTestUnderMaskCond()
2079 if (CCMask == SystemZ::CCMASK_CMP_GT) in getTestUnderMaskCond()
2081 if (CCMask == SystemZ::CCMASK_CMP_LE) in getTestUnderMaskCond()
2085 if (CCMask == SystemZ::CCMASK_CMP_GE) in getTestUnderMaskCond()
2087 if (CCMask == SystemZ::CCMASK_CMP_LT) in getTestUnderMaskCond()
2093 if (CCMask == SystemZ::CCMASK_CMP_LE) in getTestUnderMaskCond()
2095 if (CCMask == SystemZ::CCMASK_CMP_GT) in getTestUnderMaskCond()
2099 if (CCMask == SystemZ::CCMASK_CMP_LT) in getTestUnderMaskCond()
2101 if (CCMask == SystemZ::CCMASK_CMP_GE) in getTestUnderMaskCond()
2108 if (CCMask == SystemZ::CCMASK_CMP_EQ && CmpVal == Low) in getTestUnderMaskCond()
2110 if (CCMask == SystemZ::CCMASK_CMP_NE && CmpVal == Low) in getTestUnderMaskCond()
2112 if (CCMask == SystemZ::CCMASK_CMP_EQ && CmpVal == High) in getTestUnderMaskCond()
2114 if (CCMask == SystemZ::CCMASK_CMP_NE && CmpVal == High) in getTestUnderMaskCond()
2148 NewC.CCMask == SystemZ::CCMASK_CMP_EQ || in adjustForTestUnderMask()
2149 NewC.CCMask == SystemZ::CCMASK_CMP_NE || in adjustForTestUnderMask()
2153 if (NewC.CCMask == SystemZ::CCMASK_CMP_LE || in adjustForTestUnderMask()
2154 NewC.CCMask == SystemZ::CCMASK_CMP_GT) { in adjustForTestUnderMask()
2158 NewC.CCMask ^= SystemZ::CCMASK_CMP_EQ; in adjustForTestUnderMask()
2177 (NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask, in adjustForTestUnderMask()
2188 (NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask, in adjustForTestUnderMask()
2195 NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask, MaskVal, CmpVal, in adjustForTestUnderMask()
2209 C.CCMask = NewCCMask; in adjustForTestUnderMask()
2241 C.CCMask = CC < 4 ? 1 << (3 - CC) : 0; in getIntrinsicCmp()
2244 C.CCMask = CC < 4 ? ~(1 << (3 - CC)) : -1; in getIntrinsicCmp()
2248 C.CCMask = CC < 4 ? ~0U << (4 - CC) : -1; in getIntrinsicCmp()
2251 C.CCMask = CC < 4 ? ~(~0U << (4 - CC)) : 0; in getIntrinsicCmp()
2255 C.CCMask = CC < 4 ? ~0U << (3 - CC) : -1; in getIntrinsicCmp()
2258 C.CCMask = CC < 4 ? ~(~0U << (3 - CC)) : 0; in getIntrinsicCmp()
2261 C.CCMask &= CCValid; in getIntrinsicCmp()
2281 C.CCMask = CCMaskForCondCode(Cond); in getCmp()
2294 if (C.CCMask == SystemZ::CCMASK_CMP_EQ || in getCmp()
2295 C.CCMask == SystemZ::CCMASK_CMP_NE || in getCmp()
2298 else if (C.CCMask & SystemZ::CCMASK_CMP_UO) in getCmp()
2302 C.CCMask &= ~SystemZ::CCMASK_CMP_UO; in getCmp()
2313 C.CCMask = reverseCCMask(C.CCMask); in getCmp()
2339 bool RegisterOnly = (bool(C.CCMask & SystemZ::CCMASK_TM_MIXED_MSB_0) != in emitCmp()
2340 bool(C.CCMask & SystemZ::CCMASK_TM_MIXED_MSB_1)); in emitCmp()
2379 unsigned CCValid, unsigned CCMask) { in emitSETCC() argument
2383 DAG.getConstant(CCMask, DL, MVT::i32), CCReg }; in emitSETCC()
2534 return emitSETCC(DAG, DL, CCReg, C.CCValid, C.CCMask); in lowerSETCC()
2548 DAG.getConstant(C.CCMask, DL, MVT::i32), Dest, CCReg); in lowerBR_CC()
2588 C.CCMask != SystemZ::CCMASK_CMP_EQ && in lowerSELECT_CC()
2589 C.CCMask != SystemZ::CCMASK_CMP_NE && in lowerSELECT_CC()
2593 return getAbsolute(DAG, DL, TrueOp, C.CCMask & SystemZ::CCMASK_CMP_LT); in lowerSELECT_CC()
2595 return getAbsolute(DAG, DL, FalseOp, C.CCMask & SystemZ::CCMASK_CMP_GT); in lowerSELECT_CC()
2600 DAG.getConstant(C.CCMask, DL, MVT::i32), CCReg}; in lowerSELECT_CC()
3228 unsigned CCMask = 0; in lowerXALUO() local
3235 CCMask = SystemZ::CCMASK_ARITH_OVERFLOW; in lowerXALUO()
3240 CCMask = SystemZ::CCMASK_ARITH_OVERFLOW; in lowerXALUO()
3245 CCMask = SystemZ::CCMASK_LOGICAL_CARRY; in lowerXALUO()
3250 CCMask = SystemZ::CCMASK_LOGICAL_BORROW; in lowerXALUO()
3257 SDValue SetCC = emitSETCC(DAG, DL, Result.getValue(1), CCValid, CCMask); in lowerXALUO()
3281 unsigned CCMask = 0; in lowerADDSUBCARRY() local
3288 CCMask = SystemZ::CCMASK_LOGICAL_CARRY; in lowerADDSUBCARRY()
3293 CCMask = SystemZ::CCMASK_LOGICAL_BORROW; in lowerADDSUBCARRY()
3300 DAG.getConstant(CCMask, DL, MVT::i32)); in lowerADDSUBCARRY()
3305 SDValue SetCC = emitSETCC(DAG, DL, Result.getValue(1), CCValid, CCMask); in lowerADDSUBCARRY()
5618 static bool combineCCMask(SDValue &CCReg, int &CCValid, int &CCMask) { in combineCCMask() argument
5640 if (CCMask == SystemZ::CCMASK_CMP_NE) in combineCCMask()
5642 else if (CCMask != SystemZ::CCMASK_CMP_EQ) in combineCCMask()
5663 CCMask = NewCCMask->getZExtValue(); in combineCCMask()
5665 CCMask ^= CCValid; in combineCCMask()
5695 switch (CCMask) { in combineCCMask()
5698 case SystemZ::CCMASK_CMP_LT: CCMask = SystemZ::CCMASK_CMP_GT; break; in combineCCMask()
5699 case SystemZ::CCMASK_CMP_GT: CCMask = SystemZ::CCMASK_CMP_LT; break; in combineCCMask()
5700 case SystemZ::CCMASK_CMP_LE: CCMask = SystemZ::CCMASK_CMP_GE; break; in combineCCMask()
5701 case SystemZ::CCMASK_CMP_GE: CCMask = SystemZ::CCMASK_CMP_LE; break; in combineCCMask()
5719 auto *CCMask = dyn_cast<ConstantSDNode>(N->getOperand(2)); in combineBR_CCMASK() local
5720 if (!CCValid || !CCMask) in combineBR_CCMASK()
5724 int CCMaskVal = CCMask->getZExtValue(); in combineBR_CCMASK()
5743 auto *CCMask = dyn_cast<ConstantSDNode>(N->getOperand(3)); in combineSELECT_CCMASK() local
5744 if (!CCValid || !CCMask) in combineSELECT_CCMASK()
5748 int CCMaskVal = CCMask->getZExtValue(); in combineSELECT_CCMASK()
5767 auto *CCMask = dyn_cast<ConstantSDNode>(N->getOperand(2)); in combineGET_CCMASK() local
5768 if (!CCValid || !CCMask) in combineGET_CCMASK()
5771 int CCMaskVal = CCMask->getZExtValue(); in combineGET_CCMASK()
6244 unsigned CCMask = MIItBegin->getOperand(4).getImm(); in createPHIsForSelects() local
6265 if (MIIt->getOperand(4).getImm() == (CCValid ^ CCMask)) in createPHIsForSelects()
6291 unsigned CCMask = MI.getOperand(4).getImm(); in emitSelect() local
6304 (NextMIIt->getOperand(4).getImm() == CCMask || in emitSelect()
6305 NextMIIt->getOperand(4).getImm() == (CCValid ^ CCMask))) { in emitSelect()
6326 .addImm(CCValid).addImm(CCMask).addMBB(JoinMBB); in emitSelect()
6365 unsigned CCMask = MI.getOperand(5).getImm(); in emitCondStore() local
6375 CCMask ^= CCValid; in emitCondStore()
6391 .addImm(CCMask) in emitCondStore()
6400 CCMask ^= CCValid; in emitCondStore()
6418 .addImm(CCValid).addImm(CCMask).addMBB(JoinMBB); in emitCondStore()