• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/InstCombine/

Lines Matching refs:Mask

894     APInt Mask = APInt::getLowBitsSet(64, Length).shl(Index);
895 V00 = V00 & ~Mask;
1306 Value *Mask = II.getOperand(1);
1311 if (isa<ConstantAggregateZero>(Mask))
1314 auto *ConstMask = dyn_cast<ConstantDataVector>(Mask);
1342 Value *Mask = II.getOperand(1);
1347 if (isa<ConstantAggregateZero>(Mask)) {
1357 auto *ConstMask = dyn_cast<ConstantDataVector>(Mask);
2500 uint64_t Mask = MaskC->getZExtValue();
2504 while (Mask) {
2506 uint64_t BitToTest = Mask & -Mask;
2512 Mask &= Mask - 1;
2529 uint64_t Mask = MaskC->getZExtValue();
2533 while (Mask) {
2535 uint64_t BitToSet = Mask & -Mask;
2541 Mask &= Mask - 1;
2798 Value *Mask = II->getArgOperand(3);
2799 auto *C = dyn_cast<ConstantInt>(Mask);
2804 cast<IntegerType>(Mask->getType())->getBitWidth());
2805 Mask = Builder.CreateBitCast(Mask, MaskTy);
2806 Mask = Builder.CreateExtractElement(Mask, (uint64_t)0);
2810 V = Builder.CreateSelect(Mask, V, Passthru);
3138 // fold (blend A, A, Mask) -> A
3141 Value *Mask = II->getArgOperand(2);
3145 // Zero Mask - select 1st argument.
3146 if (isa<ConstantAggregateZero>(Mask))
3149 // Constant Mask - select 1st/2nd argument lane based on top bit of mask.
3150 if (auto *ConstantMask = dyn_cast<ConstantDataVector>(Mask)) {
3158 Mask = peekThroughBitcast(Mask);
3159 if (match(Mask, m_SExt(m_Value(BoolVec))) &&
3162 assert(Mask->getType()->getPrimitiveSizeInBits() ==
3166 unsigned NumMaskElts = Mask->getType()->getVectorNumElements();
3174 Value *CastOp0 = Builder.CreateBitCast(Op0, Mask->getType());
3175 Value *CastOp1 = Builder.CreateBitCast(Op1, Mask->getType());
3257 if (Constant *Mask = dyn_cast<Constant>(II->getArgOperand(2))) {
3258 assert(Mask->getType()->getVectorNumElements() == 16 &&
3264 Constant *Elt = Mask->getAggregateElement(i);
3274 Mask->getType());
3276 Mask->getType());
3284 if (isa<UndefValue>(Mask->getAggregateElement(i)))
3287 cast<ConstantInt>(Mask->getAggregateElement(i))->getZExtValue();
3540 uint32_t Mask = CMask->getZExtValue();
3543 if ((Mask & FullMask) == FullMask)
3546 if ((Mask & FullMask) == 0)
3549 if (Mask == (S_NAN | Q_NAN)) {
3556 if (Mask == (N_ZERO | P_ZERO)) {
3566 if (((Mask & S_NAN) || (Mask & Q_NAN)) && isKnownNeverNaN(Src0, &TLI)) {
3568 Mask & ~(S_NAN | Q_NAN)));
3578 if ((Mask & FullMask) != Mask) {
3580 { Src0, ConstantInt::get(Src1->getType(), Mask & FullMask) }
3593 ((Mask & S_NAN) && Val.isNaN() && Val.isSignaling()) ||
3594 ((Mask & Q_NAN) && Val.isNaN() && !Val.isSignaling()) ||
3595 ((Mask & N_INFINITY) && Val.isInfinity() && Val.isNegative()) ||
3596 ((Mask & N_NORMAL) && Val.isNormal() && Val.isNegative()) ||
3597 ((Mask & N_SUBNORMAL) && Val.isDenormal() && Val.isNegative()) ||
3598 ((Mask & N_ZERO) && Val.isZero() && Val.isNegative()) ||
3599 ((Mask & P_ZERO) && Val.isZero() && !Val.isNegative()) ||
3600 ((Mask & P_SUBNORMAL) && Val.isDenormal() && !Val.isNegative()) ||
3601 ((Mask & P_NORMAL) && Val.isNormal() && !Val.isNegative()) ||
3602 ((Mask & P_INFINITY) && Val.isInfinity() && !Val.isNegative());