Lines Matching defs:EltBits
4734 SmallVectorImpl<APInt> &EltBits,
4737 assert(EltBits.empty() && "Expected an empty EltBits vector");
4761 EltBits.assign(SrcEltBits.begin(), SrcEltBits.end());
4778 EltBits.resize(NumElts, APInt(EltSizeInBits, 0));
4797 EltBits[i] = MaskBits.extractBits(EltSizeInBits, BitOffset);
4828 unsigned EltBits = EltTy->getPrimitiveSizeInBits();
4831 Mask.insertBits(CDS->getElementAsAPInt(I), I * EltBits);
4834 I * EltBits);
5000 UndefElts, EltBits, AllowWholeUndefs,
5008 EltBits.erase(EltBits.begin() + BaseIdx + NumSubElts, EltBits.end());
5010 EltBits.erase(EltBits.begin(), EltBits.begin() + BaseIdx);
5044 EltBits.push_back(APInt::getZero(EltSizeInBits));
5048 EltBits.push_back(EltBits0[M]);
5052 EltBits.push_back(EltBits1[M - NumElts]);
5065 SmallVector<APInt, 16> EltBits;
5067 Op, Op.getScalarValueSizeInBits(), UndefElts, EltBits,
5070 for (int i = 0, e = EltBits.size(); i != e; ++i) {
5073 if (0 <= SplatIndex && EltBits[i] != EltBits[SplatIndex]) {
5080 SplatVal = EltBits[SplatIndex];
5095 SmallVector<APInt, 64> EltBits;
5097 EltBits, /* AllowWholeUndefs */ true,
5102 for (const APInt &Elt : EltBits)
5131 SmallVector<APInt> EltBits;
5134 EltBits)) {
5137 for (APInt &Elt : EltBits) {
5145 getConstVector(EltBits, UndefElts, VT, DAG, DL));
5773 SmallVector<APInt, 32> EltBits;
5774 if (!getTargetConstantBitsFromNode(Cond, EltSizeInBits, UndefElts, EltBits,
5786 if (UndefElts[i] || (!IsBLENDV && EltBits[i].isZero()) ||
5787 (IsBLENDV && EltBits[i].isNonNegative()))
5840 SmallVector<APInt, 32> EltBits;
5845 if (!getTargetConstantBitsFromNode(IsAndN ? N0 : N1, 8, UndefElts, EltBits,
5852 for (int i = 0, e = (int)EltBits.size(); i != e; ++i) {
5853 const APInt &ByteBits = EltBits[i];
10439 unsigned EltBits = VT.getScalarSizeInBits();
10440 unsigned MaxStages = Log2_32(64 / EltBits);
10446 unsigned NumStages = Log2_32(CurrentEltBits / EltBits);
11894 int EltBits = VT.getScalarSizeInBits();
11896 int NumEltsPerLane = 128 / EltBits;
11898 assert((EltBits == 8 || EltBits == 16 || EltBits == 32) &&
11900 assert(Scale * EltBits <= 64 && "Cannot zero extend past 64 bits.");
11930 MVT ExtVT = MVT::getVectorVT(MVT::getIntegerVT(EltBits * Scale),
11944 if (AnyExt && EltBits == 32) {
11952 if (AnyExt && EltBits == 16 && Scale > 2) {
11968 if ((Scale * EltBits) == 64 && EltBits < 32 && Subtarget.hasSSE4A()) {
11972 int LoIdx = Offset * EltBits;
11975 DAG.getTargetConstant(EltBits, DL, MVT::i8),
11981 int HiIdx = (Offset + 1) * EltBits;
11984 DAG.getTargetConstant(EltBits, DL, MVT::i8),
11993 if (Scale > 4 && EltBits == 8 && Subtarget.hasSSSE3()) {
12030 MVT InputVT = MVT::getVectorVT(MVT::getIntegerVT(EltBits), NumElements);
12036 EltBits *= 2;
12223 unsigned EltBits = VT.getScalarSizeInBits();
12271 SmallVector<APInt> Bits(NumElts, APInt::getAllOnes(EltBits));
12272 Bits[V2Index] = APInt::getZero(EltBits);
12331 DAG.getTargetConstant(V2Index * EltBits / 8, DL, MVT::i8));
21867 unsigned EltBits = VT.getScalarSizeInBits();
21869 APInt MaskElt = IsFABS ? APInt::getSignedMaxValue(EltBits) :
21870 APInt::getSignMask(EltBits);
23450 SmallVector<APInt, 64> EltBits;
23452 BC0.getOperand(1), VT.getScalarSizeInBits(), UndefElts, EltBits,
23454 if (llvm::all_of(EltBits, [](APInt &V) { return V.isPowerOf2(); })) {
29425 SmallVector<APInt> EltBits;
29426 if (getTargetConstantBitsFromNode(Amt, SVTBits, UndefElts, EltBits)) {
29430 if (UndefElts[I] || EltBits[I].uge(SVTBits))
29432 uint64_t ShAmt = EltBits[I].getZExtValue();
29590 SDValue EltBits = DAG.getConstant(EltSizeInBits, dl, VT);
29591 SDValue RAmt = DAG.getNode(ISD::SUB, dl, VT, EltBits, Amt);
29609 SDValue EltBits = DAG.getConstant(EltSizeInBits, dl, VT);
29610 SDValue RAmt = DAG.getNode(ISD::SUB, dl, VT, EltBits, Amt);
37506 SmallVector<APInt, 16> EltBits;
37507 if (getTargetConstantBitsFromNode(Op, BitWidth, UndefElts, EltBits,
37519 KnownBits Known2 = KnownBits::makeConstant(EltBits[I]);
39069 SmallVector<APInt, 64> EltBits(NumMaskElts, Zero);
39078 EltBits[i] = AllOnes;
39080 SDValue BitMask = getConstVector(EltBits, UndefElts, MaskVT, DAG, DL);
41039 unsigned EltBits = VT.getScalarSizeInBits();
41047 if ((EltBits % SrcBits) == 0 && SrcBits >= 32) {
41079 llvm::narrowShuffleMaskElts(EltBits / 8, Mask, ByteMask);
42131 SmallVector<APInt> EltBits;
42137 EltBits)) {
42148 } else if ((Invert && !EltBits[I].isAllOnes()) ||
42149 (!Invert && !EltBits[I].isZero())) {
42150 OpBits |= Invert ? ~EltBits[I] : EltBits[I];
43976 SmallVector<APInt, 1> EltBits;
43977 if (getTargetConstantBitsFromNode(N0, 64, UndefElts, EltBits,
43982 if (EltBits[0].countl_zero() >= 32)
43984 DAG.getConstant(EltBits[0].trunc(32), DL, MVT::i32));
43987 APFloat F64(APFloat::IEEEdouble(), EltBits[0]);
45205 SmallVector<APInt, 16> EltBits;
45208 EltBits, /*AllowWholeUndefs*/ true,
45213 return DAG.getConstant(EltBits[Idx].zext(NumEltBits), dl, VT);
46918 unsigned EltBits = BCVT.getScalarSizeInBits();
46919 if (DAG.ComputeNumSignBits(BC) == EltBits) {
46921 APInt SignMask = APInt::getSignMask(EltBits);
46927 if ((EltBits == 32 || EltBits == 64) && Subtarget.hasAVX()) {
46928 MVT FloatSVT = MVT::getFloatingPointVT(EltBits);
46930 MVT::getVectorVT(FloatSVT, OpVT.getSizeInBits() / EltBits);
46933 } else if (EltBits == 16) {
48498 auto &EltBits = (Elt >= NumSrcEltsPerLane ? EltBits1 : EltBits0);
48505 APInt &Val = EltBits[SrcIdx];
48672 SmallVector<APInt, 32> EltBits;
48673 if (getTargetConstantBitsFromNode(N1, 64, UndefElts, EltBits,
48678 EltBits[0].getZExtValue(), DAG);
48788 SmallVector<APInt, 32> EltBits;
48789 if (!getTargetConstantBitsFromNode(V, NumBitsPerElt, UndefElts, EltBits,
48793 assert(EltBits.size() == VT.getVectorNumElements() &&
48798 for (unsigned i = 0, e = EltBits.size(); i != e; ++i) {
48799 APInt &Elt = EltBits[i];
48811 return getConstVector(EltBits, UndefElts, VT.getSimpleVT(), DAG, SDLoc(N));
50027 SmallVector<APInt> EltBits;
50033 EltBits)) {
50042 } else if (!EltBits[I].isZero()) {
50043 DemandedBits |= EltBits[I];
50081 SmallVector<APInt, 64> EltBits;
50083 getTargetConstantBitsFromNode(BitMask, 8, UndefElts, EltBits) &&
50084 llvm::all_of(EltBits, [](const APInt &M) {
50097 ShuffleMask[VecIdx] = EltBits[i].isZero() ? SM_SentinelZero : VecIdx;
50240 unsigned EltBits = MaskVT.getScalarSizeInBits();
50243 if (!MaskVT.isInteger() || DAG.ComputeNumSignBits(Mask) != EltBits)
50665 SmallVector<APInt> EltBits;
50668 EltBits)) {
50670 for (unsigned I = 0, E = EltBits.size(); I != E; ++I)
50671 IsPow2OrUndef &= UndefElts[I] || EltBits[I].isPowerOf2();
50810 SmallVector<APInt> EltBits;
50813 if (!getTargetConstantBitsFromNode(Op, EltSizeInBits, UndefElts, EltBits))
50818 if (!EltBits[I].isAllOnes())
52747 SmallVector<APInt, 16> EltBits;
52750 if (getTargetConstantBitsFromNode(Op1, ScalarSize, UndefElts, EltBits,
52753 for (unsigned I = 0, E = EltBits.size(); I < E; I++)
52754 if (!UndefElts[I] && !EltBits[I].isSignMask())
53538 SmallVector<APInt> EltBits;
53542 EltBits)) {
53551 } else if ((Invert && !EltBits[I].isAllOnes()) ||
53552 (!Invert && !EltBits[I].isZero())) {
53553 DemandedBits |= Invert ? ~EltBits[I] : EltBits[I];
54506 SmallVector<APInt, 32> EltBits;
54507 if (getTargetConstantBitsFromNode(Src, NumBitsPerElt, UndefElts, EltBits,
54512 if (!UndefElts[Idx] && EltBits[Idx].isNegative())
54584 SmallVector<APInt, 32> EltBits;
54586 UndefElts, EltBits)) {
54589 if (!UndefElts[Idx] && EltBits[Idx].isNegative())
56015 unsigned EltBits = VT.getScalarSizeInBits();
56029 if (getTargetConstantBitsFromNode(LHS, EltBits, LHSUndefs, LHSBits) &&
56030 getTargetConstantBitsFromNode(RHS, EltBits, RHSUndefs, RHSBits)) {
56031 APInt Ones = APInt::getAllOnes(EltBits);
56032 APInt Zero = APInt::getZero(EltBits);
56679 SmallVector<APInt> EltBits;
56688 EltBits.append(OpEltBits);
56691 if (EltBits.size() == VT.getVectorNumElements()) {
56692 Constant *C = getConstantVector(VT, EltBits, UndefElts, Ctx);