| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | SIPeepholeSDWA.cpp | 1050 MachineOperand *CarryIn = TII->getNamedOperand(MISucc, AMDGPU::OpName::src2); in pseudoOpConvertToVOP2() local 1051 if (!CarryIn) in pseudoOpConvertToVOP2() 1056 if (!MRI->hasOneUse(CarryIn->getReg()) || !MRI->use_empty(CarryOut->getReg())) in pseudoOpConvertToVOP2() 1082 MISucc.substituteRegister(CarryIn->getReg(), TRI->getVCC(), 0, *TRI); in pseudoOpConvertToVOP2() 1100 const MachineOperand &CarryIn = in convertVcndmaskToVOP2() local 1102 Register CarryReg = CarryIn.getReg(); in convertVcndmaskToVOP2() 1119 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(AMDGPU::COPY), Vcc).add(CarryIn); in convertVcndmaskToVOP2()
|
| H A D | AMDGPULegalizerInfo.cpp | 3967 [&](Register &LocalAccum, const Carry &CarryIn) -> Register { in buildMultiply() argument 3968 if (CarryIn.empty()) in buildMultiply() 3973 if (CarryIn.size() == 1) { in buildMultiply() 3975 LocalAccum = B.buildZExt(S32, CarryIn[0]).getReg(0); in buildMultiply() 3981 CarryAccum = B.buildZExt(S32, CarryIn[0]).getReg(0); in buildMultiply() 3982 for (unsigned i = 1; i + 1 < CarryIn.size(); ++i) { in buildMultiply() 3984 B.buildUAdde(S32, S1, CarryAccum, getZero32(), CarryIn[i]) in buildMultiply() 3995 B.buildUAdde(S32, S1, CarryAccum, LocalAccum, CarryIn.back()); in buildMultiply() 4011 [&](MutableArrayRef<Register> LocalAccum, unsigned DstIndex, Carry &CarryIn) in buildMultiply() 4022 (!UsePartialMad64_32 || !CarryIn.empty())) { in buildMultiply() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | MachineIRBuilder.h | 643 const SrcOp &CarryIn) { in buildUAdde() argument 645 {Op0, Op1, CarryIn}); in buildUAdde() 651 const SrcOp &CarryIn) { in buildUSube() argument 653 {Op0, Op1, CarryIn}); in buildUSube() 659 const SrcOp &CarryIn) { in buildSAdde() argument 661 {Op0, Op1, CarryIn}); in buildSAdde() 667 const SrcOp &CarryIn) { in buildSSube() argument 669 {Op0, Op1, CarryIn}); in buildSSube()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/ |
| H A D | CSKYISelDAGToDAG.cpp | 369 auto CarryIn = InvertCarryFlag(Subtarget, CurDAG, Dl, Op2); in selectSubCarry() local 372 Dl, {Type0, Type1}, {Op0, Op1, CarryIn}); in selectSubCarry()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVInstrInfoVPseudos.td | 1503 bit CarryIn, 1507 !if(CarryIn, 2415 // For vadc and vsbc, CarryIn == 1 and CarryOut == 0 2416 multiclass VPseudoBinaryV_VM<LMULInfo m, bit CarryOut = 0, bit CarryIn = 1, 2421 def "_VV" # !if(CarryIn, "M", "") # "_" # m.MX : 2423 !if(!and(CarryIn, !not(CarryOut)), 2425 m.vrclass, m.vrclass, m, CarryIn, Constraint, TargetConstraintType>; 2435 multiclass VPseudoBinaryV_XM<LMULInfo m, bit CarryOut = 0, bit CarryIn = 1, 2437 def "_VX" # !if(CarryIn, "M", "") # "_" # m.MX : 2439 !if(!and(CarryIn, !not(CarryOut)), [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonVectorCombine.cpp | 465 Value *CarryIn = nullptr) const 1939 Value *CarryIn) const in createAddCarry() 1946 if (CarryIn == nullptr && HVC.HST.useHVXV66Ops()) { in createAddCarry() 1950 if (CarryIn == nullptr) in createAddCarry() 1951 CarryIn = HVC.getNullValue(HVC.getBoolTy(HVC.length(VecTy))); in createAddCarry() 1952 Args.push_back(CarryIn); in createAddCarry() 1965 if (CarryIn != nullptr) { in createAddCarry() 1975 {CarryIn, HVC.getConstInt(Mask)}); in createAddCarry()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
| H A D | LegalizerHelper.cpp | 2483 std::optional<Register> CarryIn; in widenScalarAddSubOverflow() local 2506 CarryIn = MI.getOperand(4).getReg(); in widenScalarAddSubOverflow() 2511 CarryIn = MI.getOperand(4).getReg(); in widenScalarAddSubOverflow() 2516 CarryIn = MI.getOperand(4).getReg(); in widenScalarAddSubOverflow() 2521 CarryIn = MI.getOperand(4).getReg(); in widenScalarAddSubOverflow() 2529 if (CarryIn) in widenScalarAddSubOverflow() 2541 if (CarryIn) { in widenScalarAddSubOverflow() 2545 {LHSExt, RHSExt, *CarryIn}) in widenScalarAddSubOverflow() 4584 auto [Res, CarryOut, LHS, RHS, CarryIn] = MI.getFirst5Regs(); in lower() 4597 auto ZExtCarryIn = MIRBuilder.buildZExt(Ty, CarryIn); in lower() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/AST/ByteCode/ |
| H A D | InterpBuiltin.cpp | 880 APSInt CarryIn = popToAPSInt(S.Stk, LHST); in interp__builtin_carryop() local 902 LHS.uadd_ov(RHS, FirstOverflowed).uadd_ov(CarryIn, SecondOverflowed); in interp__builtin_carryop() 910 LHS.usub_ov(RHS, FirstOverflowed).usub_ov(CarryIn, SecondOverflowed); in interp__builtin_carryop() 1414 APSInt CarryIn = popToAPSInt(S.Stk, CarryInT); in interp__builtin_ia32_addcarry_subborrow() local 1420 unsigned CarryInBit = CarryIn.ugt(0) ? 1 : 0; in interp__builtin_ia32_addcarry_subborrow()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | DAGCombiner.cpp | 436 SDValue visitUADDO_CARRYLike(SDValue N0, SDValue N1, SDValue CarryIn, 438 SDValue visitSADDO_CARRYLike(SDValue N0, SDValue N1, SDValue CarryIn, 3516 SDValue CarryIn = N->getOperand(2); in visitADDE() local 3523 N1, N0, CarryIn); in visitADDE() 3526 if (CarryIn.getOpcode() == ISD::CARRY_FALSE) in visitADDE() 3535 SDValue CarryIn = N->getOperand(2); in visitUADDO_CARRY() local 3542 return DAG.getNode(ISD::UADDO_CARRY, DL, N->getVTList(), N1, N0, CarryIn); in visitUADDO_CARRY() 3545 if (isNullConstant(CarryIn)) { in visitUADDO_CARRY() 3554 EVT CarryVT = CarryIn.getValueType(); in visitUADDO_CARRY() 3555 SDValue CarryExt = DAG.getBoolExtOrTrunc(CarryIn, DL, VT, CarryVT); in visitUADDO_CARRY() [all …]
|
| H A D | TargetLowering.cpp | 11383 SDValue CarryIn = DAG.getConstant(0, dl, Node->getValueType(1)); in expandUADDSUBO() local 11385 { LHS, RHS, CarryIn }); in expandUADDSUBO()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86InstCombineIntrinsic.cpp | 644 Value *CarryIn = II.getArgOperand(0); in simplifyX86addcarry() local 654 if (match(CarryIn, m_ZeroInt())) { in simplifyX86addcarry()
|
| H A D | X86ISelLowering.cpp | 57488 SDValue CarryIn = N->getOperand(2); in combineADC() local 57495 CarryIn); in combineADC() 57510 DAG.getTargetConstant(X86::COND_B, DL, MVT::i8), CarryIn), in combineADC() 57523 DAG.getConstant(Sum, DL, LHS.getValueType()), CarryIn); in combineADC() 57526 if (SDValue Flags = combineCarryThroughADD(CarryIn, DAG)) { in combineADC() 57537 LHS.getOperand(1), CarryIn); in combineADC()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMISelDAGToDAG.cpp | 2653 SDValue CarryIn = N->getOperand(FirstInputOp + 2); in SelectMVE_VADCSBC() local 2654 ConstantSDNode *CarryInConstant = dyn_cast<ConstantSDNode>(CarryIn); in SelectMVE_VADCSBC() 2661 Ops.push_back(CarryIn); in SelectMVE_VADCSBC()
|
| /freebsd/contrib/llvm-project/clang/lib/AST/ |
| H A D | ExprConstant.cpp | 13655 APSInt LHS, RHS, CarryIn, CarryOut, Result; in VisitBuiltinCallExpr() local 13659 !EvaluateInteger(E->getArg(2), CarryIn, Info) || in VisitBuiltinCallExpr() 13677 LHS.uadd_ov(RHS, FirstOverflowed).uadd_ov(CarryIn, SecondOverflowed); in VisitBuiltinCallExpr() 13685 LHS.usub_ov(RHS, FirstOverflowed).usub_ov(CarryIn, SecondOverflowed); in VisitBuiltinCallExpr() 13877 APSInt CarryIn, LHS, RHS; in VisitBuiltinCallExpr() local 13879 if (!EvaluateInteger(E->getArg(0), CarryIn, Info) || in VisitBuiltinCallExpr() 13889 unsigned CarryInBit = CarryIn.ugt(0) ? 1 : 0; in VisitBuiltinCallExpr()
|