Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:Shuffle

2437   // Xor/and/or are indifferent to the swizzle operation (shuffle of one value).
2439 // If both shuffles use the same mask, and both shuffle within a single
2442 // vector types from memory. In many cases this allows additional shuffle
8701 // (vextract (v4f32 shuffle (load $addr), <1,u,u,u>), 0) -> (f32 load $addr)
8916 // turn into a single shuffle instruction.
9049 // at most two distinct vectors, turn this into a shuffle node.
9051 // May only combine to shuffle after legalize if shuffle is legal.
9085 // If everything is good, we can make a shuffle operation.
9111 // We can't generate a shuffle node with mismatched input and output types.
9143 // Only type-legal BUILD_VECTOR nodes are converted to shuffle nodes.
9160 // inputs come from at most two distinct vectors, turn this into a shuffle
9276 // Tries to turn a shuffle of two CONCAT_VECTORS into a single concat.
9335 assert(N0.getValueType() == VT && "Vector shuffle must be normalized in DAG");
9337 // Canonicalize shuffle undef, undef -> undef
9343 // Canonicalize shuffle v, v -> v, undef
9355 // Canonicalize shuffle undef, v -> v, undef. Commute the shuffle mask.
9440 // If this shuffle node is simply a swizzle of another shuffle node,
9441 // and it reverses the swizzle of the previous shuffle then we can
9442 // optimize shuffle(shuffle(x, undef), undef) -> x.
9448 // Shuffle nodes can only reverse shuffles with a single non-undef value.
9452 // The incoming shuffle must be of the same type as the result of the
9453 // current shuffle.
9455 "Shuffle types don't match");
9461 // shuffle. Adopt the incoming index.
9465 // The combined shuffle must map each index to itself.
9531 SDValue Shuffle = XformToShuffleWithZero(N);
9532 if (Shuffle.getNode()) return Shuffle;