Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/llvm/lib/Support/
H A DScaledNumber.cpp294 bool Carry = doesRoundUp(Str[Truncate]); in toString() local
295 if (!Carry) in toString()
309 Carry = false; in toString()
314 return stripTrailingZeros(std::string(Carry, '1') + Str.substr(0, Truncate)); in toString()
H A DKnownBits.cpp54 const KnownBits &LHS, const KnownBits &RHS, const KnownBits &Carry) { in computeForAddCarry() argument
55 assert(Carry.getBitWidth() == 1 && "Carry must be 1-bit"); in computeForAddCarry()
57 LHS, RHS, Carry.Zero.getBoolValue(), Carry.One.getBoolValue()); in computeForAddCarry()
/freebsd/crypto/openssl/doc/man3/
H A DOPENSSL_riscvcap.pod53 Carry-less multiplication
71 Carry-less multiplication for Cryptography
/freebsd/contrib/llvm-project/llvm/lib/Target/M68k/
H A DM68kISelLowering.cpp2214 SDValue Carry = Op.getOperand(2); in LowerSETCCCARRY() local
2221 EVT CarryVT = Carry.getValueType(); in LowerSETCCCARRY()
2223 Carry = DAG.getNode(M68kISD::ADD, DL, DAG.getVTList(CarryVT, MVT::i32), Carry, in LowerSETCCCARRY()
2228 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.td487 def MxCONDcc : PatLeaf<(i8 4)>; // Carry Clear
488 def MxCONDcs : PatLeaf<(i8 5)>; // Carry Set
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGBuiltin.h99 llvm::Value *&Carry);
H A DCGHLSLBuiltins.cpp295 llvm::Value *Carry; in EmitHLSLBuiltinExpr() local
297 *this, Intrinsic::uadd_with_overflow, LowA, LowB, Carry); in EmitHLSLBuiltinExpr()
299 Builder.CreateZExt(Carry, HighA->getType(), "CarryZExt"); in EmitHLSLBuiltinExpr()
/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.cpp432 bool Carry = false; in eADD() local
439 unsigned S = bool(V1) + bool(V2) + Carry; in eADD()
441 Carry = (S > 1); in eADD()
448 if (V1.is(Carry)) in eADD()
450 else if (V2.is(Carry)) in eADD()
H A DHexagonVectorCombine.cpp2071 Value *Carry = nullptr; in createAddLong() local
2073 std::tie(Sum[Idx], Carry) = in createAddLong()
2074 createAddCarry(Builder, WordX[Idx], WordY[Idx], Carry); in createAddLong()
2111 Value *Carry = nullptr; // no carry-in in createMulLong() local
2115 pop_back_or_zero(ProdJ), Carry); in createMulLong()
2117 Carry = CarryOut; in createMulLong()
/freebsd/contrib/llvm-project/llvm/lib/Target/XCore/
H A DXCoreISelLowering.cpp689 SDValue Carry(Lo.getNode(), 1); in ExpandADDSUB() local
692 LHSH, RHSH, Carry); in ExpandADDSUB()
1521 SDValue Carry = DAG.getConstant(0, dl, VT); in PerformDAGCombine() local
1524 SDValue Ops[] = { Result, Carry }; in PerformDAGCombine()
1535 SDValue Carry = DAG.getConstant(0, dl, VT); in PerformDAGCombine() local
1537 SDValue Ops[] = { Result, Carry }; in PerformDAGCombine()
1606 SDValue Carry(Result.getNode(), 1); in PerformDAGCombine() local
1607 SDValue Ops[] = { Carry, Result }; in PerformDAGCombine()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DCombinerHelper.cpp5214 Register Carry = MI.getOperand(1).getReg(); in matchMulOBy0() local
5216 !isConstantLegalOrBeforeLegalizer(MRI.getType(Carry))) in matchMulOBy0()
5220 B.buildConstant(Carry, 0); in matchMulOBy0()
7582 Register Carry = Add->getReg(1); in matchAddOverflow() local
7587 LLT CarryTy = MRI.getType(Carry); in matchAddOverflow()
7590 if (MRI.use_nodbg_empty(Carry) && in matchAddOverflow()
7594 B.buildUndef(Carry); in matchAddOverflow()
7603 B.buildSAddo(Dst, Carry, RHS, LHS); in matchAddOverflow()
7609 B.buildUAddo(Dst, Carry, RHS, LHS); in matchAddOverflow()
7625 B.buildConstant(Carry, Overflow); in matchAddOverflow()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPURegisterBankInfo.cpp1651 Register Carry; in applyMappingMAD_64_32() local
1659 Carry = B.buildICmp(CmpInst::ICMP_SLT, MulHiInVgpr ? S1 : S32, DstHi, Zero) in applyMappingMAD_64_32()
1661 MRI.setRegBank(Carry, MulHiInVgpr ? AMDGPU::VCCRegBank in applyMappingMAD_64_32()
1665 Carry = B.buildTrunc(S1, Carry).getReg(0); in applyMappingMAD_64_32()
1666 MRI.setRegBank(Carry, AMDGPU::VCCRegBank); in applyMappingMAD_64_32()
1688 Carry = B.buildXor(CarryType, Carry, Src2Sign).getReg(0); in applyMappingMAD_64_32()
1689 MRI.setRegBank(Carry, CarryBank); in applyMappingMAD_64_32()
1706 Carry = CarryHi; in applyMappingMAD_64_32()
1708 Carry = B.buildXor(CarryType, Carry, CarryHi).getReg(0); in applyMappingMAD_64_32()
1709 MRI.setRegBank(Carry, CarryBank); in applyMappingMAD_64_32()
[all …]
H A DAMDGPULegalizerInfo.cpp3933 using Carry = SmallVector<Register, 2>; in buildMultiply() typedef
3967 [&](Register &LocalAccum, const Carry &CarryIn) -> Register { in buildMultiply()
4011 [&](MutableArrayRef<Register> LocalAccum, unsigned DstIndex, Carry &CarryIn) in buildMultiply()
4012 -> Carry { in buildMultiply()
4016 Carry CarryOut; in buildMultiply()
4112 Carry EvenCarry; in buildMultiply()
4113 Carry OddCarry; in buildMultiply()
4116 Carry OddCarryIn = std::move(OddCarry); in buildMultiply()
4117 Carry EvenCarryIn = std::move(EvenCarry); in buildMultiply()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVFeatures.td488 : RISCVExtension<1, 0, "Carry-Less Multiplication">,
492 "'Zbc' (Carry-Less Multiplication)">;
530 // The Carry-less multiply subextension for cryptography is a subset of basic
535 "Carry-less multiply instructions for Cryptography">,
540 "'Zbkc' (Carry-less multiply instructions for Cryptography)">;
545 "'Zbc' (Carry-Less Multiplication) or "
546 "'Zbkc' (Carry-less multiply instructions "
H A DRISCVScheduleV.td359 // 11.4. Vector Integer Arithmetic with Carry or Borrow Instructions
598 // 11.4. Vector Integer Arithmetic with Carry or Borrow Instructions
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZISelLowering.cpp4813 static bool isAddCarryChain(SDValue Carry) { in isAddCarryChain() argument
4814 while (Carry.getOpcode() == ISD::UADDO_CARRY && in isAddCarryChain()
4815 Carry->getValueType(0) != MVT::i128) in isAddCarryChain()
4816 Carry = Carry.getOperand(2); in isAddCarryChain()
4817 return Carry.getOpcode() == ISD::UADDO && in isAddCarryChain()
4818 Carry->getValueType(0) != MVT::i128; in isAddCarryChain()
4821 static bool isSubBorrowChain(SDValue Carry) { in isSubBorrowChain() argument
4822 while (Carry.getOpcode() == ISD::USUBO_CARRY && in isSubBorrowChain()
4823 Carry->getValueType(0) != MVT::i128) in isSubBorrowChain()
4824 Carry = Carry.getOperand(2); in isSubBorrowChain()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/
H A DKnownBits.h326 const KnownBits &Carry);
/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.cpp237 SDNode *Carry = CurDAG->getMachineNode( in selectAddE() local
242 SDValue(Carry, 0)}; in selectAddE()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86ScheduleSLM.td455 // Carry-less multiplication instructions.
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMISelLowering.cpp5088 SDValue Carry = DAG.getNode(ARMISD::SUBC, DL, in ConvertBooleanCarryToCarryFlag() local
5091 return Carry.getValue(1); in ConvertBooleanCarryToCarryFlag()
7029 SDValue Carry = Op.getOperand(2); in LowerSETCCCARRY() local
7037 Carry = DAG.getNode(ISD::SUB, DL, MVT::i32, in LowerSETCCCARRY()
7038 DAG.getConstant(1, DL, MVT::i32), Carry); in LowerSETCCCARRY()
7040 Carry = ConvertBooleanCarryToCarryFlag(Carry, DAG); in LowerSETCCCARRY()
7043 SDValue Cmp = DAG.getNode(ARMISD::SUBE, DL, VTs, LHS, RHS, Carry); in LowerSETCCCARRY()
9941 SDValue Carry = Op.getOperand(2); in LowerUADDSUBO_CARRY() local
9948 Carry = ConvertBooleanCarryToCarryFlag(Carry, DAG); in LowerUADDSUBO_CARRY()
9952 Op.getOperand(1), Carry); in LowerUADDSUBO_CARRY()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DLegalizeIntegerTypes.cpp3686 SDValue Carry; in ExpandIntRes_ADDSUB() local
3688 Carry = DAG.getZExtOrTrunc(Cmp, dl, NVT); in ExpandIntRes_ADDSUB()
3690 Carry = DAG.getSelect(dl, NVT, Cmp, DAG.getConstant(1, dl, NVT), in ExpandIntRes_ADDSUB()
3694 Hi = DAG.getNode(ISD::SUB, dl, NVT, HiOps[0], Carry); in ExpandIntRes_ADDSUB()
3697 Hi = DAG.getNode(ISD::ADD, dl, NVT, Hi, Carry); in ExpandIntRes_ADDSUB()
5757 SDValue Carry = N->getOperand(2); in ExpandIntOp_SETCCCARRY() local
5766 SDVTList VTList = DAG.getVTList(LHSLo.getValueType(), Carry.getValueType()); in ExpandIntOp_SETCCCARRY()
5768 DAG.getNode(ISD::USUBO_CARRY, dl, VTList, LHSLo, RHSLo, Carry); in ExpandIntOp_SETCCCARRY()

123