Home
last modified time | relevance | path

Searched refs:Carry (Results 1 – 25 of 61) sorted by relevance

123

/freebsd/contrib/llvm-project/llvm/lib/Support/
H A DScaledNumber.cpp292 bool Carry = doesRoundUp(Str[Truncate]); in toString() local
293 if (!Carry) in toString()
307 Carry = false; in toString()
312 return stripTrailingZeros(std::string(Carry, '1') + Str.substr(0, Truncate)); in toString()
H A DKnownBits.cpp45 const KnownBits &LHS, const KnownBits &RHS, const KnownBits &Carry) { in computeForAddCarry() argument
46 assert(Carry.getBitWidth() == 1 && "Carry must be 1-bit"); in computeForAddCarry()
48 LHS, RHS, Carry.Zero.getBoolValue(), Carry.One.getBoolValue()); in computeForAddCarry()
/freebsd/contrib/llvm-project/llvm/lib/Target/M68k/
H A DM68kISelLowering.cpp2212 SDValue Carry = Op.getOperand(2); in LowerSETCCCARRY() local
2219 EVT CarryVT = Carry.getValueType(); in LowerSETCCCARRY()
2221 Carry = DAG.getNode(M68kISD::ADD, DL, DAG.getVTList(CarryVT, MVT::i32), Carry, in LowerSETCCCARRY()
2226 DAG.getNode(M68kISD::SUBX, DL, VTs, LHS, RHS, Carry.getValue(1)); in LowerSETCCCARRY()
3541 SDValue Carry = CCR.getOperand(0); in combineCarryThroughADD() local
3542 while (Carry.getOpcode() == ISD::TRUNCATE || in combineCarryThroughADD()
3543 Carry.getOpcode() == ISD::ZERO_EXTEND || in combineCarryThroughADD()
3544 Carry.getOpcode() == ISD::SIGN_EXTEND || in combineCarryThroughADD()
3545 Carry.getOpcode() == ISD::ANY_EXTEND || in combineCarryThroughADD()
3546 (Carry.getOpcode() == ISD::AND && in combineCarryThroughADD()
[all …]
H A DM68kInstrControl.td56 /// CC—Carry clear GE—Greater than or equal
58 /// CS—Carry set GT—Greater than
H A DM68kInstrInfo.td449 def MxCONDcc : PatLeaf<(i8 4)>; // Carry Clear
450 def MxCONDcs : PatLeaf<(i8 5)>; // Carry Set
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DIntegerDivision.cpp296 Value *Carry = Builder.CreateAnd(Tmp10, One); in generateUnsignedDivisionCode() local
325 Carry_1->addIncoming(Carry, DoWhile); in generateUnsignedDivisionCode()
337 Carry_2->addIncoming(Carry, DoWhile); in generateUnsignedDivisionCode()
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DBitTracker.cpp437 bool Carry = false; in eADD() local
444 unsigned S = bool(V1) + bool(V2) + Carry; in eADD()
446 Carry = (S > 1); in eADD()
453 if (V1.is(Carry)) in eADD()
455 else if (V2.is(Carry)) in eADD()
H A DHexagonVectorCombine.cpp2070 Value *Carry = nullptr; in createAddLong() local
2072 std::tie(Sum[Idx], Carry) = in createAddLong()
2073 createAddCarry(Builder, WordX[Idx], WordY[Idx], Carry); in createAddLong()
2110 Value *Carry = nullptr; // no carry-in in createMulLong() local
2114 pop_back_or_zero(ProdJ), Carry); in createMulLong()
2116 Carry = CarryOut; in createMulLong()
/freebsd/contrib/llvm-project/llvm/lib/Target/XCore/
H A DXCoreISelLowering.cpp716 SDValue Carry(Lo.getNode(), 1); in ExpandADDSUB() local
719 LHSH, RHSH, Carry); in ExpandADDSUB()
1550 SDValue Carry = DAG.getConstant(0, dl, VT); in PerformDAGCombine() local
1553 SDValue Ops[] = { Result, Carry }; in PerformDAGCombine()
1564 SDValue Carry = DAG.getConstant(0, dl, VT); in PerformDAGCombine() local
1566 SDValue Ops[] = { Result, Carry }; in PerformDAGCombine()
1635 SDValue Carry(Result.getNode(), 1); in PerformDAGCombine() local
1636 SDValue Ops[] = { Carry, Result }; in PerformDAGCombine()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVFeatures.td491 "'Zbc' (Carry-Less Multiplication)">,
495 "'Zbc' (Carry-Less Multiplication)">;
537 // The Carry-less multiply subextension for cryptography is a subset of basic
542 "'Zbkc' (Carry-less multiply instructions for "
548 "'Zbkc' (Carry-less multiply instructions for Cryptography)">;
553 "'Zbc' (Carry-Less Multiplication) or "
554 "'Zbkc' (Carry-less multiply instructions "
H A DRISCVScheduleV.td359 // 11.4. Vector Integer Arithmetic with Carry or Borrow Instructions
595 // 11.4. Vector Integer Arithmetic with Carry or Borrow Instructions
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPURegisterBankInfo.cpp1623 Register Carry; in applyMappingMAD_64_32() local
1631 Carry = B.buildICmp(CmpInst::ICMP_SLT, MulHiInVgpr ? S1 : S32, DstHi, Zero) in applyMappingMAD_64_32()
1633 MRI.setRegBank(Carry, MulHiInVgpr ? AMDGPU::VCCRegBank in applyMappingMAD_64_32()
1637 Carry = B.buildTrunc(S1, Carry).getReg(0); in applyMappingMAD_64_32()
1638 MRI.setRegBank(Carry, AMDGPU::VCCRegBank); in applyMappingMAD_64_32()
1660 Carry = B.buildXor(CarryType, Carry, Src2Sign).getReg(0); in applyMappingMAD_64_32()
1661 MRI.setRegBank(Carry, CarryBank); in applyMappingMAD_64_32()
1678 Carry = CarryHi; in applyMappingMAD_64_32()
1680 Carry = B.buildXor(CarryType, Carry, CarryHi).getReg(0); in applyMappingMAD_64_32()
1681 MRI.setRegBank(Carry, CarryBank); in applyMappingMAD_64_32()
[all …]
H A DAMDGPULegalizerInfo.cpp3875 using Carry = SmallVector<Register, 2>; in buildMultiply() typedef
3909 [&](Register &LocalAccum, const Carry &CarryIn) -> Register { in buildMultiply()
3953 [&](MutableArrayRef<Register> LocalAccum, unsigned DstIndex, Carry &CarryIn) in buildMultiply()
3954 -> Carry { in buildMultiply()
3958 Carry CarryOut; in buildMultiply()
4054 Carry EvenCarry; in buildMultiply()
4055 Carry OddCarry; in buildMultiply()
4058 Carry OddCarryIn = std::move(OddCarry); in buildMultiply()
4059 Carry EvenCarryIn = std::move(EvenCarry); in buildMultiply()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DCombinerHelper.cpp5082 Register Carry = MI.getOperand(1).getReg(); in matchMulOBy0() local
5084 !isConstantLegalOrBeforeLegalizer(MRI.getType(Carry))) in matchMulOBy0()
5088 B.buildConstant(Carry, 0); in matchMulOBy0()
7244 Register Carry = Add->getReg(1); in matchAddOverflow() local
7249 LLT CarryTy = MRI.getType(Carry); in matchAddOverflow()
7252 if (MRI.use_nodbg_empty(Carry) && in matchAddOverflow()
7256 B.buildUndef(Carry); in matchAddOverflow()
7265 B.buildSAddo(Dst, Carry, RHS, LHS); in matchAddOverflow()
7271 B.buildUAddo(Dst, Carry, RHS, LHS); in matchAddOverflow()
7287 B.buildConstant(Carry, Overflow); in matchAddOverflow()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/
H A DKnownBits.h321 const KnownBits &LHS, const KnownBits &RHS, const KnownBits &Carry);
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZISelLowering.cpp4342 static bool isAddCarryChain(SDValue Carry) { in isAddCarryChain() argument
4343 while (Carry.getOpcode() == ISD::UADDO_CARRY) in isAddCarryChain()
4344 Carry = Carry.getOperand(2); in isAddCarryChain()
4345 return Carry.getOpcode() == ISD::UADDO; in isAddCarryChain()
4348 static bool isSubBorrowChain(SDValue Carry) { in isSubBorrowChain() argument
4349 while (Carry.getOpcode() == ISD::USUBO_CARRY) in isSubBorrowChain()
4350 Carry = Carry.getOperand(2); in isSubBorrowChain()
4351 return Carry.getOpcode() == ISD::USUBO; in isSubBorrowChain()
4367 SDValue Carry = Op.getOperand(2); in lowerUADDSUBO_CARRY() local
4387 Carry = DAG.getNode(ISD::XOR, DL, Carry.getValueType(), in lowerUADDSUBO_CARRY()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Lanai/
H A DLanaiInstrFormats.td61 // (Carry), according to the result. If the flags are updated, they are
136 // (Zero), `N' (Negative), `V' (oVerflow), and `C' (Carry), according to
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DREADME_P9.txt131 - Vector Multiply-by-10 (& Write Carry) Unsigned Quadword:
137 - Vector Multiply-by-10 Extended (& Write Carry) Unsigned Quadword:
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsSEISelDAGToDAG.cpp241 SDNode *Carry = CurDAG->getMachineNode( in selectAddE() local
246 SDValue(Carry, 0)}; in selectAddE()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86ScheduleSLM.td455 // Carry-less multiplication instructions.
H A DX86ScheduleAtom.td489 // Carry-less multiplication instructions.
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DLegalizeIntegerTypes.cpp3490 SDValue Carry; in ExpandIntRes_ADDSUB() local
3492 Carry = DAG.getZExtOrTrunc(Cmp, dl, NVT); in ExpandIntRes_ADDSUB()
3494 Carry = DAG.getSelect(dl, NVT, Cmp, DAG.getConstant(1, dl, NVT), in ExpandIntRes_ADDSUB()
3498 Hi = DAG.getNode(ISD::SUB, dl, NVT, HiOps[0], Carry); in ExpandIntRes_ADDSUB()
3500 Hi = DAG.getNode(ISD::ADD, dl, NVT, Hi, Carry); in ExpandIntRes_ADDSUB()
5518 SDValue Carry = N->getOperand(2); in ExpandIntOp_SETCCCARRY() local
5527 SDVTList VTList = DAG.getVTList(LHSLo.getValueType(), Carry.getValueType()); in ExpandIntOp_SETCCCARRY()
5529 DAG.getNode(ISD::USUBO_CARRY, dl, VTList, LHSLo, RHSLo, Carry); in ExpandIntOp_SETCCCARRY()
H A DTargetLowering.cpp7685 SDValue Carry = Next.getValue(1); in expandMUL_LOHI() local
7694 Carry); in expandMUL_LOHI()
7697 Zero, Carry); in expandMUL_LOHI()
7848 SDValue Carry = DAG.getSetCC(dl, SetCCType, Sum, LL, ISD::SETULT); in expandDIVREMByConstant() local
7853 Carry = DAG.getZExtOrTrunc(Carry, dl, HiLoVT); in expandDIVREMByConstant()
7855 Carry = DAG.getSelect(dl, HiLoVT, Carry, DAG.getConstant(1, dl, HiLoVT), in expandDIVREMByConstant()
7857 Sum = DAG.getNode(ISD::ADD, dl, HiLoVT, Sum, Carry); in expandDIVREMByConstant()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMISelLowering.cpp5025 SDValue Carry = DAG.getNode(ARMISD::SUBC, DL, in ConvertBooleanCarryToCarryFlag() local
5028 return Carry.getValue(1); in ConvertBooleanCarryToCarryFlag()
6963 SDValue Carry = Op.getOperand(2); in LowerSETCCCARRY() local
6971 Carry = DAG.getNode(ISD::SUB, DL, MVT::i32, in LowerSETCCCARRY()
6972 DAG.getConstant(1, DL, MVT::i32), Carry); in LowerSETCCCARRY()
6974 Carry = ConvertBooleanCarryToCarryFlag(Carry, DAG); in LowerSETCCCARRY()
6977 SDValue Cmp = DAG.getNode(ARMISD::SUBE, DL, VTs, LHS, RHS, Carry); in LowerSETCCCARRY()
9889 SDValue Carry = Op.getOperand(2); in LowerUADDSUBO_CARRY() local
9896 Carry = ConvertBooleanCarryToCarryFlag(Carry, DAG); in LowerUADDSUBO_CARRY()
9900 Op.getOperand(1), Carry); in LowerUADDSUBO_CARRY()
[all …]
H A DARMFrameLowering.cpp2939 bool Carry = (Value & 0x00FFFFFF); in alignToARMConstant() local
2940 Value = ((Value & 0xFF000000) >> 24) + Carry; in alignToARMConstant()

123