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

Lines Matching refs:Mask

958 static Value *getX86MaskVec(IRBuilder<> &Builder, Value *Mask,
961 cast<IntegerType>(Mask->getType())->getBitWidth());
962 Mask = Builder.CreateBitCast(Mask, MaskTy);
970 Mask = Builder.CreateShuffleVector(Mask, Mask,
975 return Mask;
978 static Value *EmitX86Select(IRBuilder<> &Builder, Value *Mask,
981 if (const auto *C = dyn_cast<Constant>(Mask))
985 Mask = getX86MaskVec(Builder, Mask, Op0->getType()->getVectorNumElements());
986 return Builder.CreateSelect(Mask, Op0, Op1);
989 static Value *EmitX86ScalarSelect(IRBuilder<> &Builder, Value *Mask,
992 if (const auto *C = dyn_cast<Constant>(Mask))
998 Mask->getType()->getIntegerBitWidth());
999 Mask = Builder.CreateBitCast(Mask, MaskTy);
1000 Mask = Builder.CreateExtractElement(Mask, (uint64_t)0);
1001 return Builder.CreateSelect(Mask, Op0, Op1);
1009 Value *Passthru, Value *Mask,
1018 // Mask the immediate for VALIGN.
1050 return EmitX86Select(Builder, Mask, Align, Passthru);
1128 Value *Mask = CI.getOperand(3);
1129 Res = EmitX86Select(Builder, Mask, Res, VecSrc);
1155 Value *Mask = CI.getOperand(3);
1156 Res = EmitX86Select(Builder, Mask, Res, VecSrc);
1228 Value *Mask = CI.getOperand(NumArgs - 1);
1229 Res = EmitX86Select(Builder, Mask, Res, VecSrc);
1235 Value *Ptr, Value *Data, Value *Mask,
1244 if (const auto *C = dyn_cast<Constant>(Mask))
1250 Mask = getX86MaskVec(Builder, Mask, NumElts);
1251 return Builder.CreateMaskedStore(Data, Ptr, Align, Mask);
1255 Value *Ptr, Value *Passthru, Value *Mask,
1264 if (const auto *C = dyn_cast<Constant>(Mask))
1270 Mask = getX86MaskVec(Builder, Mask, NumElts);
1271 return Builder.CreateMaskedLoad(Ptr, Align, Mask, Passthru);
1317 Constant *Mask = ConstantInt::get(Ty, 0xffffffff);
1318 LHS = Builder.CreateAnd(LHS, Mask);
1319 RHS = Builder.CreateAnd(RHS, Mask);
1332 Value *Mask) {
1334 if (Mask) {
1335 const auto *C = dyn_cast<Constant>(Mask);
1337 Vec = Builder.CreateAnd(Vec, getX86MaskVec(Builder, Mask, NumElts));
1377 Value *Mask = CI.getArgOperand(CI.getNumArgOperands() - 1);
1379 return ApplyX86MaskOn1BitsVec(Builder, Cmp, Mask);
1395 Value* Mask = CI.getArgOperand(3);
1397 Value* AndNode = Builder.CreateAnd(Mask, APInt(8, 1));
1410 Value *Mask = getX86MaskVec(Builder, Op, NumElts);
1411 return Builder.CreateSExt(Mask, ReturnOp, "vpmovm2");
1775 Value *Mask = Builder.CreateAnd(CI->getArgOperand(2), Builder.getInt8(1));
1777 Mask, false);
1849 Value *Mask = CI->getArgOperand(2);
1856 Rep = ApplyX86MaskOn1BitsVec(Builder, Rep, Mask);
2449 // Mask off the high bits of the immediate value; hardware ignores those.
2493 // Mask off the high bits of the immediate value; hardware ignores those.