Home | History | Annotate | Download | only in X86

Lines Matching refs:Splat

4960 /// NormalizeMask - V2 is a splat, modify the mask (if needed) so all elements
5027 /// getLegalSplat - Generate a legal splat with supported x86 shuffles
5038 // To use VPERMILPS to splat scalars, the second half of indicies must
5053 /// PromoteSplat - Splat is promoted to target supported vector shuffles.
5064 "Unknown how to promote splat for type");
5066 // Extract the 128-bit part containing the splat element and update
5067 // the splat element index when it refers to the higher register.
5743 /// to generate a splat value for the following cases:
5744 /// 1. A splat BUILD_VECTOR which uses a single scalar load, or a constant.
5745 /// 2. A splat shuffle which uses a scalar_to_vector node which comes from
5771 SDValue Splat = BVOp->getSplatValue(&UndefElements);
5773 // We need a splat of a single value to use broadcast, and it doesn't
5775 if (!Splat || (VT.getVectorNumElements() - UndefElements.count()) <= 1)
5778 Ld = Splat;
5792 // Shuffles must have a splat mask where the first element is
6666 // Splat is obviously ok. Let legalizer expand it to a shuffle.
7696 // Notably, this handles splat and partial-splat shuffles more efficiently.
9204 // Handle splat operations
9206 // Use vbroadcast whenever the splat comes from a foldable load
9403 // FIXME: This should also accept a bitcast of a splat? Be careful, not
9413 // Canonicalize the splat or undef, if present, to be on the RHS.
9425 // If V2 is a splat, the mask may be malformed such as <4,3,3,3>, which
15615 // The splat value for the first packed shift (the 'X' from the example).
15617 // The splat value for the second packed shift (the 'Y' from the example).
18360 // be exactly the first vector, and all the rest a splat with the
20176 SDValue Splat = DAG.getConstant(C, VT);
20177 return DAG.getNode(ISD::SRA, SDLoc(N), VT, Op0, Splat);