| /freebsd/contrib/llvm-project/llvm/lib/Support/ |
| H A D | ScaledNumber.cpp | 294 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 D | KnownBits.cpp | 54 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 D | OPENSSL_riscvcap.pod | 53 Carry-less multiplication 71 Carry-less multiplication for Cryptography
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/M68k/ |
| H A D | M68kISelLowering.cpp | 2214 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 D | M68kInstrControl.td | 56 /// CC—Carry clear GE—Greater than or equal 58 /// CS—Carry set GT—Greater than
|
| H A D | M68kInstrInfo.td | 487 def MxCONDcc : PatLeaf<(i8 4)>; // Carry Clear 488 def MxCONDcs : PatLeaf<(i8 5)>; // Carry Set
|
| /freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
| H A D | CGBuiltin.h | 99 llvm::Value *&Carry);
|
| H A D | CGHLSLBuiltins.cpp | 295 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 D | IntegerDivision.cpp | 296 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 D | BitTracker.cpp | 432 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 D | HexagonVectorCombine.cpp | 2071 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 D | XCoreISelLowering.cpp | 689 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 D | CombinerHelper.cpp | 5214 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 D | AMDGPURegisterBankInfo.cpp | 1651 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 D | AMDGPULegalizerInfo.cpp | 3933 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 D | RISCVFeatures.td | 488 : 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 D | RISCVScheduleV.td | 359 // 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 D | SystemZISelLowering.cpp | 4813 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 D | KnownBits.h | 326 const KnownBits &Carry);
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Lanai/ |
| H A D | LanaiInstrFormats.td | 61 // (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 D | README_P9.txt | 131 - 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 D | MipsSEISelDAGToDAG.cpp | 237 SDNode *Carry = CurDAG->getMachineNode( in selectAddE() local 242 SDValue(Carry, 0)}; in selectAddE()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86ScheduleSLM.td | 455 // Carry-less multiplication instructions.
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMISelLowering.cpp | 5088 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 D | LegalizeIntegerTypes.cpp | 3686 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()
|