Lines Matching defs:Scalar
190 Value *Scalar;
192 if (!match(X, m_InsertElt(m_Value(), m_Value(Scalar),
239 Type *SrcIntTy = IntegerType::getIntNTy(Scalar->getContext(), SrcWidth);
240 Scalar = Builder.CreateBitCast(Scalar, SrcIntTy);
247 Scalar = Builder.CreateLShr(Scalar, ShAmt);
251 Type *DestIntTy = IntegerType::getIntNTy(Scalar->getContext(), DestWidth);
252 return new BitCastInst(Builder.CreateTrunc(Scalar, DestIntTy), DestTy);
254 return new TruncInst(Scalar, DestTy);
886 Value *Scalar = InsElt.getOperand(1);
888 if (!match(Scalar, m_ExtractElt(m_Specific(X), m_SpecificInt(IdxC))))
1859 // shuffle (insert ?, Scalar, IndexC), V1, Mask --> insert V1, Scalar, IndexC'
1860 auto isShufflingScalarIntoOp1 = [&](Value *&Scalar, ConstantInt *&IndexC) {
1862 if (!match(V0, m_InsertElt(m_Value(), m_Value(Scalar),
1896 Value *Scalar;
1898 if (isShufflingScalarIntoOp1(Scalar, IndexC))
1899 return InsertElementInst::Create(V1, Scalar, IndexC);
1906 if (isShufflingScalarIntoOp1(Scalar, IndexC))
1907 return InsertElementInst::Create(V1, Scalar, IndexC);