• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AArch64/

Lines Matching refs:shuffle

6537 // shuffle in combination with VEXTs.
6552 // be compatible with the shuffle we intend to construct. As a result
6579 "a shuffle can only come from building a vector from "
6619 // to construct a compatible shuffle either by concatenating it with UNDEF or
6636 // shuffle...
6681 // for the shuffle.
6692 // Final sanity check before we try to actually produce a shuffle.
6697 // The stars all align, our next step is to produce the mask for the shuffle.
6716 // This source is expected to fill ResMultiplier lanes of the final shuffle,
6728 LLVM_DEBUG(dbgs() << "Reshuffle failed: illegal shuffle mask\n");
6746 // check if an EXT instruction can handle the shuffle mask when the
6747 // vector sources of the shuffle are the same.
6751 // Assume that the first shuffle index is not UNDEF. Fail if it is.
6757 // If this is a VEXT shuffle, the immediate value is the index of the first
6758 // element. The other shuffle indices must be the successive elements after
6777 // check if an EXT instruction can handle the shuffle mask when the
6778 // vector sources of the shuffle are different.
6788 // The following shuffle indices must be the successive elements after the
6817 /// isREVMask - Check if a vector shuffle corresponds to a REV
6830 // If the first shuffle index is UNDEF, be optimistic.
7030 /// GeneratePerfectShuffle - Given an entry in the perfect-shuffle table, emit
7031 /// the specified operations to build the shuffle.
7071 llvm_unreachable("Unknown shuffle opcode!");
7372 // If the shuffle is not directly supported and it has 4 elements, use
7384 // Compute the index in the perfect shuffle table.
8098 if (SDValue shuffle = ReconstructShuffle(Op, DAG))
8099 return shuffle;
8105 // scalar_to_vector for the elements followed by a shuffle (provided the
8106 // shuffle is valid for the target) and materialization element by element
8258 // Compute the index in the perfect shuffle table.
9123 /// %v0 = shuffle %wide.vec, undef, <0, 2, 4, 6> ; Extract even elements
9124 /// %v1 = shuffle %wide.vec, undef, <1, 3, 5, 7> ; Extract odd elements
9235 /// %i.vec = shuffle <8 x i32> %v0, <8 x i32> %v1,
9240 /// %sub.v0 = shuffle <8 x i32> %v0, <8 x i32> v1, <0, 1, 2, 3>
9241 /// %sub.v1 = shuffle <8 x i32> %v0, <8 x i32> v1, <4, 5, 6, 7>
9242 /// %sub.v2 = shuffle <8 x i32> %v0, <8 x i32> v1, <8, 9, 10, 11>
9249 /// %i.vec = shuffle <32 x i32> %v0, <32 x i32> %v1,
9254 /// %sub.v0 = shuffle <32 x i32> %v0, <32 x i32> v1, <4, 5, 6, 7>
9255 /// %sub.v1 = shuffle <32 x i32> %v0, <32 x i32> v1, <32, 33, 34, 35>
9256 /// %sub.v2 = shuffle <32 x i32> %v0, <32 x i32> v1, <16, 17, 18, 19>
12214 /// with a vector one followed by a DUP shuffle on the result.