Lines Matching refs:ShuffleMask
767 struct ShuffleMask {
768 ShuffleMask(ArrayRef<int> M) : Mask(M) {
780 ShuffleMask lo() const {
782 return ShuffleMask(Mask.take_front(H));
784 ShuffleMask hi() const {
786 return ShuffleMask(Mask.take_back(H));
798 raw_ostream &operator<<(raw_ostream &OS, const ShuffleMask &SM) {
956 static SmallVector<uint32_t, 8> getPerfectCompletions(ShuffleMask SM,
960 static std::optional<int> rotationDistance(ShuffleMask SM, unsigned WrapAt);
976 OpRef packs(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results,
978 OpRef packp(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results,
985 OpRef shuffs1(ShuffleMask SM, OpRef Va, ResultStack &Results);
986 OpRef shuffs2(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
987 OpRef shuffp1(ShuffleMask SM, OpRef Va, ResultStack &Results);
988 OpRef shuffp2(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
990 OpRef butterfly(ShuffleMask SM, OpRef Va, ResultStack &Results);
991 OpRef contracting(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
992 OpRef expanding(ShuffleMask SM, OpRef Va, ResultStack &Results);
993 OpRef perfect(ShuffleMask SM, OpRef Va, ResultStack &Results);
1055 static SmallVector<unsigned, 4> getInputSegmentList(ShuffleMask SM,
1075 static SmallVector<unsigned, 4> getOutputSegmentMap(ShuffleMask SM,
1270 OpRef HvxSelector::packs(ShuffleMask SM, OpRef Va, OpRef Vb,
1434 ShuffleMask SMH(MaskH);
1442 ShuffleMask SW(Swapped);
1448 ShuffleMask SMA(MaskA);
1503 OpRef HvxSelector::packp(ShuffleMask SM, OpRef Va, OpRef Vb,
1562 OpRef HvxSelector::shuffs1(ShuffleMask SM, OpRef Va, ResultStack &Results) {
1605 OpRef HvxSelector::shuffs2(ShuffleMask SM, OpRef Va, OpRef Vb,
1619 return shuffs1(ShuffleMask(PackedMask), P, Results);
1627 OpRef L = shuffs1(ShuffleMask(MaskL), Va, Results);
1628 OpRef R = shuffs1(ShuffleMask(MaskR), Vb, Results);
1640 OpRef HvxSelector::shuffp1(ShuffleMask SM, OpRef Va, ResultStack &Results) {
1652 ShuffleMask PM(PackedMask);
1683 OpRef HvxSelector::shuffp2(ShuffleMask SM, OpRef Va, OpRef Vb,
1693 return shuffp1(ShuffleMask(PackedMask), P, Results);
1698 OpRef L = shuffp1(ShuffleMask(MaskL), Va, Results);
1699 OpRef R = shuffp1(ShuffleMask(MaskR), Vb, Results);
1924 SmallVector<uint32_t, 8> HvxSelector::getPerfectCompletions(ShuffleMask SM,
2049 std::optional<int> HvxSelector::rotationDistance(ShuffleMask SM,
2071 OpRef HvxSelector::contracting(ShuffleMask SM, OpRef Va, OpRef Vb,
2175 OpRef HvxSelector::expanding(ShuffleMask SM, OpRef Va, ResultStack &Results) {
2229 OpRef HvxSelector::perfect(ShuffleMask SM, OpRef Va, ResultStack &Results) {
2338 SM = ShuffleMask(MaskStorage);
2505 OpRef HvxSelector::butterfly(ShuffleMask SM, OpRef Va, ResultStack &Results) {
2653 OpRef Res = !HavePairs ? shuffs2(ShuffleMask(Mask), Va, Vb, Results)
2654 : shuffp2(ShuffleMask(Mask), Va, Vb, Results);