Home
last modified time | relevance | path

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

123

/llvm-project-15.0.7/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.cpp51 const KnownBits &LHS, const KnownBits &RHS, const KnownBits &Carry) { in computeForAddCarry() argument
52 assert(Carry.getBitWidth() == 1 && "Carry must be 1-bit"); in computeForAddCarry()
54 LHS, RHS, Carry.Zero.getBoolValue(), Carry.One.getBoolValue()); in computeForAddCarry()
/llvm-project-15.0.7/llvm/lib/Target/RISCV/
H A DRISCV.td147 "'Zbc' (Carry-Less Multiplication)">;
150 "'Zbc' (Carry-Less Multiplication)">;
248 // The Carry-less multiply subextension for cryptography is a subset of basic carry-less multiply s…
251 "'Zbkc' (Carry-less multiply instructions for Cryptography)">;
255 "'Zbkc' (Carry-less multiply instructions for Cryptography)">;
260 "'Zbc' (Carry-Less Multiplication) or "
261 "'Zbkc' (Carry-less multiply instructions for Cryptography)">;
H A DRISCVScheduleV.td104 // 11.4. Vector Integer Arithmetic with Carry or Borrow Instructions
326 // 11.4. Vector Integer Arithmetic with Carry or Borrow Instructions
/llvm-project-15.0.7/llvm/test/MC/RISCV/
H A Drv32zbkc-invalid.s9 clmulr t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: 'Zbc' (Carry-Le…
H A Drv32i-invalid.s182 clmul a0, a1, a2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: 'Zbc' (Carry-Les…
/llvm-project-15.0.7/llvm/lib/Target/M68k/
H A DM68kISelLowering.cpp1982 SDValue Carry = Op.getOperand(2); in LowerSETCCCARRY() local
1989 EVT CarryVT = Carry.getValueType(); in LowerSETCCCARRY()
1991 Carry = DAG.getNode(M68kISD::ADD, DL, DAG.getVTList(CarryVT, MVT::i32), Carry, in LowerSETCCCARRY()
3362 SDValue Carry = CCR.getOperand(0); in combineCarryThroughADD() local
3363 while (Carry.getOpcode() == ISD::TRUNCATE || in combineCarryThroughADD()
3366 Carry.getOpcode() == ISD::ANY_EXTEND || in combineCarryThroughADD()
3367 (Carry.getOpcode() == ISD::AND && in combineCarryThroughADD()
3368 isOneConstant(Carry.getOperand(1)))) in combineCarryThroughADD()
3369 Carry = Carry.getOperand(0); in combineCarryThroughADD()
3370 if (Carry.getOpcode() == M68kISD::SETCC || 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
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DIntegerDivision.cpp315 Value *Carry = Builder.CreateAnd(Tmp10, One); in generateUnsignedDivisionCode() local
344 Carry_1->addIncoming(Carry, DoWhile); in generateUnsignedDivisionCode()
356 Carry_2->addIncoming(Carry, DoWhile); in generateUnsignedDivisionCode()
/llvm-project-15.0.7/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()
/llvm-project-15.0.7/llvm/lib/Target/AMDGPU/
H A DAMDGPURegisterBankInfo.cpp1630 Register Carry; in applyMappingMAD_64_32() local
1644 Carry = B.buildTrunc(S1, Carry).getReg(0); in applyMappingMAD_64_32()
1645 MRI.setRegBank(Carry, AMDGPU::VCCRegBank); in applyMappingMAD_64_32()
1667 Carry = B.buildXor(CarryType, Carry, Src2Sign).getReg(0); in applyMappingMAD_64_32()
1668 MRI.setRegBank(Carry, CarryBank); in applyMappingMAD_64_32()
1685 Carry = CarryHi; in applyMappingMAD_64_32()
1687 Carry = B.buildXor(CarryType, Carry, CarryHi).getReg(0); in applyMappingMAD_64_32()
1688 MRI.setRegBank(Carry, CarryBank); in applyMappingMAD_64_32()
1693 MRI.setRegBank(Carry, CarryBank); in applyMappingMAD_64_32()
1700 B.buildCopy(Dst1, Carry); in applyMappingMAD_64_32()
[all …]
H A DAMDGPULegalizerInfo.cpp2920 using Carry = SmallVector<Register, 2>; in buildMultiply() typedef
2947 [&](Register &LocalAccum, const Carry &CarryIn) -> Register { in buildMultiply()
2991 [&](MutableArrayRef<Register> LocalAccum, unsigned DstIndex, Carry &CarryIn) in buildMultiply()
2992 -> Carry { in buildMultiply()
2996 Carry CarryOut; in buildMultiply()
3082 Carry EvenCarry; in buildMultiply()
3083 Carry OddCarry; in buildMultiply()
3086 Carry OddCarryIn = std::move(OddCarry); in buildMultiply()
3087 Carry EvenCarryIn = std::move(EvenCarry); in buildMultiply()
/llvm-project-15.0.7/llvm/lib/Target/XCore/
H A DXCoreISelLowering.cpp722 SDValue Carry(Lo.getNode(), 1); in ExpandADDSUB() local
725 LHSH, RHSH, Carry); in ExpandADDSUB()
1645 SDValue Carry = DAG.getConstant(0, dl, VT); in PerformDAGCombine() local
1648 SDValue Ops[] = { Result, Carry }; in PerformDAGCombine()
1659 SDValue Carry = DAG.getConstant(0, dl, VT); in PerformDAGCombine() local
1661 SDValue Ops[] = { Result, Carry }; in PerformDAGCombine()
1730 SDValue Carry(Result.getNode(), 1); in PerformDAGCombine() local
1731 SDValue Ops[] = { Carry, Result }; in PerformDAGCombine()
/llvm-project-15.0.7/llvm/unittests/Support/
H A DKnownBitsTest.cpp33 ForeachNumInKnownBits(KnownCarry, [&](const APInt &Carry) { in TEST() argument
35 if (Carry.getBoolValue()) in TEST()
/llvm-project-15.0.7/llvm/include/llvm/Support/
H A DKnownBits.h319 const KnownBits &LHS, const KnownBits &RHS, const KnownBits &Carry);
/llvm-project-15.0.7/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
/llvm-project-15.0.7/llvm/lib/Target/SystemZ/
H A DSystemZISelLowering.cpp3993 static bool isAddCarryChain(SDValue Carry) { in isAddCarryChain() argument
3994 while (Carry.getOpcode() == ISD::ADDCARRY) in isAddCarryChain()
3995 Carry = Carry.getOperand(2); in isAddCarryChain()
3996 return Carry.getOpcode() == ISD::UADDO; in isAddCarryChain()
4000 while (Carry.getOpcode() == ISD::SUBCARRY) in isSubBorrowChain()
4001 Carry = Carry.getOperand(2); in isSubBorrowChain()
4002 return Carry.getOpcode() == ISD::USUBO; in isSubBorrowChain()
4018 SDValue Carry = Op.getOperand(2); in lowerADDSUBCARRY() local
4027 if (!isAddCarryChain(Carry)) in lowerADDSUBCARRY()
4035 if (!isSubBorrowChain(Carry)) in lowerADDSUBCARRY()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/Mips/
H A DMipsSEISelDAGToDAG.cpp241 SDNode *Carry = CurDAG->getMachineNode( in selectAddE() local
246 SDValue(Carry, 0)}; in selectAddE()
/llvm-project-15.0.7/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:
/llvm-project-15.0.7/llvm/lib/CodeGen/SelectionDAG/
H A DLegalizeIntegerTypes.cpp2156 SDValue Carry = N->getOperand(2); in PromoteIntOp_ADDSUBCARRY() local
2159 Carry = PromoteTargetBoolean(Carry, LHS.getValueType()); in PromoteIntOp_ADDSUBCARRY()
2161 return SDValue(DAG.UpdateNodeOperands(N, LHS, RHS, Carry), 0); in PromoteIntOp_ADDSUBCARRY()
2995 SDValue Carry = DAG.getZExtOrTrunc(Cmp1, dl, NVT); in ExpandIntRes_ADDSUB() local
2996 Hi = DAG.getNode(ISD::ADD, dl, NVT, Hi, Carry); in ExpandIntRes_ADDSUB()
4959 SDValue Carry = N->getOperand(2); in ExpandIntOp_SETCCCARRY() local
4968 SDVTList VTList = DAG.getVTList(LHSLo.getValueType(), Carry.getValueType()); in ExpandIntOp_SETCCCARRY()
4969 SDValue LowCmp = DAG.getNode(ISD::SUBCARRY, dl, VTList, LHSLo, RHSLo, Carry); in ExpandIntOp_SETCCCARRY()
/llvm-project-15.0.7/llvm/lib/CodeGen/GlobalISel/
H A DCombinerHelper.cpp4755 Register Carry = MI.getOperand(1).getReg(); in matchMulOBy0() local
4757 !isConstantLegalOrBeforeLegalizer(MRI.getType(Carry))) in matchMulOBy0()
4761 B.buildConstant(Carry, 0); in matchMulOBy0()
4772 Register Carry = MI.getOperand(1).getReg(); in matchAddOBy0() local
4773 if (!isConstantLegalOrBeforeLegalizer(MRI.getType(Carry))) in matchAddOBy0()
4779 B.buildConstant(Carry, 0); in matchAddOBy0()
/llvm-project-15.0.7/llvm/lib/Target/X86/
H A DX86ScheduleSLM.td455 // Carry-less multiplication instructions.
H A DX86ScheduleAtom.td490 // Carry-less multiplication instructions.
/llvm-project-15.0.7/llvm/lib/Target/ARM/
H A DARMISelLowering.cpp4968 SDValue Carry = DAG.getNode(ARMISD::SUBC, DL, in ConvertBooleanCarryToCarryFlag() local
4971 return Carry.getValue(1); in ConvertBooleanCarryToCarryFlag()
6863 SDValue Carry = Op.getOperand(2); in LowerSETCCCARRY() local
6871 Carry = DAG.getNode(ISD::SUB, DL, MVT::i32, in LowerSETCCCARRY()
6874 Carry = ConvertBooleanCarryToCarryFlag(Carry, DAG); in LowerSETCCCARRY()
9730 SDValue Carry = Op.getOperand(2); in LowerADDSUBCARRY() local
9737 Carry = ConvertBooleanCarryToCarryFlag(Carry, DAG); in LowerADDSUBCARRY()
9748 Carry = DAG.getNode(ISD::SUB, DL, MVT::i32, in LowerADDSUBCARRY()
9751 Carry = ConvertBooleanCarryToCarryFlag(Carry, DAG); in LowerADDSUBCARRY()
9761 Carry = DAG.getNode(ISD::SUB, DL, MVT::i32, in LowerADDSUBCARRY()
[all …]

123