Lines Matching refs:shuffle

4516 // check if an VEXT instruction can handle the shuffle mask when the
4517 // vector sources of the shuffle are the same.
4521 // Assume that the first shuffle index is not UNDEF. Fail if it is.
4527 // If this is a VEXT shuffle, the immediate value is the index of the first
4528 // element. The other shuffle indices must be the successive elements after
4552 // Assume that the first shuffle index is not UNDEF. Fail if it is.
4558 // If this is a VEXT shuffle, the immediate value is the index of the first
4559 // element. The other shuffle indices must be the successive elements after
4583 /// isVREVMask - Check if a vector shuffle corresponds to a VREV
4596 // If the first shuffle index is UNDEF, be optimistic.
4951 SDValue shuffle = ReconstructShuffle(Op, DAG);
4952 if (shuffle != SDValue())
4953 return shuffle;
4974 // scalar_to_vector for the elements followed by a shuffle (provided the
4975 // shuffle is valid for the target) and materialization element by element
4993 // shuffle in combination with VEXTs.
5009 // A shuffle can only come from building a vector from various
5058 // and prepares appropriate SDValues for a shuffle if possible.
5067 // break it down again in a shuffle.
5151 // Compute the index in the perfect shuffle table.
5181 /// GeneratePerfectShuffle - Given an entry in the perfect-shuffle table, emit
5182 /// the specified operations to build the shuffle.
5220 default: llvm_unreachable("Unknown shuffle opcode!");
5392 // If the shuffle is not directly supported and it has 4 elements, use
5404 // Compute the index in the perfect shuffle table.
8975 // Optimize trunc store (of multiple scalars) to shuffle and store. First,
8999 // Create a type on which we perform the shuffle.
9009 // Can't shuffle using an illegal type.
9275 // The LLVM shufflevector instruction does not require the shuffle mask
9283 // shuffle(concat(v1, undef), concat(v2, undef)) ->
9284 // shuffle(concat(v1, v2), undef)
9307 // Translate the shuffle mask.