Lines Matching defs:Trunc
72 Value *Trunc = nullptr;
74 m_CombineOr(m_CombineAnd(m_Trunc(m_Instruction(Sh1)), m_Value(Trunc)),
104 if (Trunc && !AnalyzeForSignBitExtraction &&
126 if (HadTwoRightShifts && (Trunc || AnalyzeForSignBitExtraction)) {
150 if (!Trunc) {
164 if (Trunc) {
166 Ret = CastInst::Create(Instruction::Trunc, NewShift, Sh0->getType());
201 Value *Trunc;
202 if (match(Masked, m_CombineAnd(m_Trunc(m_Value(Masked)), m_Value(Trunc))) &&
203 !Trunc->hasOneUse())
954 TruncInst *Trunc = dyn_cast<TruncInst>(U);
955 if (!Trunc || Trunc->getType()->getScalarSizeInBits() > ShAmt)
1146 Value *Trunc = Builder.CreateTrunc(NewShift, Ty, "tr.sh.diff");
1148 return BinaryOperator::CreateAnd(Trunc, ConstantInt::get(Ty, Mask));
1503 Value *Trunc = Builder.CreateTrunc(SumShift, Ty, I.getName());
1508 return BinaryOperator::CreateAnd(Trunc, ConstantInt::get(Ty, MaskC));