Lines Matching defs:ShuffleMask
763 struct ShuffleMask {
764 ShuffleMask(ArrayRef<int> M) : Mask(M) {
776 ShuffleMask lo() const {
778 return ShuffleMask(Mask.take_front(H));
780 ShuffleMask hi() const {
782 return ShuffleMask(Mask.take_back(H));
794 raw_ostream &operator<<(raw_ostream &OS, const ShuffleMask &SM) {
952 static SmallVector<uint32_t, 8> getPerfectCompletions(ShuffleMask SM,
956 static std::optional<int> rotationDistance(ShuffleMask SM, unsigned WrapAt);
972 OpRef packs(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results,
974 OpRef packp(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results,
981 OpRef shuffs1(ShuffleMask SM, OpRef Va, ResultStack &Results);
982 OpRef shuffs2(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
983 OpRef shuffp1(ShuffleMask SM, OpRef Va, ResultStack &Results);
984 OpRef shuffp2(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
986 OpRef butterfly(ShuffleMask SM, OpRef Va, ResultStack &Results);
987 OpRef contracting(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
988 OpRef expanding(ShuffleMask SM, OpRef Va, ResultStack &Results);
989 OpRef perfect(ShuffleMask SM, OpRef Va, ResultStack &Results);
1051 static SmallVector<unsigned, 4> getInputSegmentList(ShuffleMask SM,
1071 static SmallVector<unsigned, 4> getOutputSegmentMap(ShuffleMask SM,
1266 OpRef HvxSelector::packs(ShuffleMask SM, OpRef Va, OpRef Vb,
1430 ShuffleMask SMH(MaskH);
1438 ShuffleMask SW(Swapped);
1444 ShuffleMask SMA(MaskA);
1499 OpRef HvxSelector::packp(ShuffleMask SM, OpRef Va, OpRef Vb,
1558 OpRef HvxSelector::shuffs1(ShuffleMask SM, OpRef Va, ResultStack &Results) {
1601 OpRef HvxSelector::shuffs2(ShuffleMask SM, OpRef Va, OpRef Vb,
1615 return shuffs1(ShuffleMask(PackedMask), P, Results);
1623 OpRef L = shuffs1(ShuffleMask(MaskL), Va, Results);
1624 OpRef R = shuffs1(ShuffleMask(MaskR), Vb, Results);
1636 OpRef HvxSelector::shuffp1(ShuffleMask SM, OpRef Va, ResultStack &Results) {
1648 ShuffleMask PM(PackedMask);
1679 OpRef HvxSelector::shuffp2(ShuffleMask SM, OpRef Va, OpRef Vb,
1689 return shuffp1(ShuffleMask(PackedMask), P, Results);
1694 OpRef L = shuffp1(ShuffleMask(MaskL), Va, Results);
1695 OpRef R = shuffp1(ShuffleMask(MaskR), Vb, Results);
1920 SmallVector<uint32_t, 8> HvxSelector::getPerfectCompletions(ShuffleMask SM,
2042 std::optional<int> HvxSelector::rotationDistance(ShuffleMask SM,
2064 OpRef HvxSelector::contracting(ShuffleMask SM, OpRef Va, OpRef Vb,
2168 OpRef HvxSelector::expanding(ShuffleMask SM, OpRef Va, ResultStack &Results) {
2222 OpRef HvxSelector::perfect(ShuffleMask SM, OpRef Va, ResultStack &Results) {
2331 SM = ShuffleMask(MaskStorage);
2498 OpRef HvxSelector::butterfly(ShuffleMask SM, OpRef Va, ResultStack &Results) {
2646 OpRef Res = !HavePairs ? shuffs2(ShuffleMask(Mask), Va, Vb, Results)
2647 : shuffp2(ShuffleMask(Mask), Va, Vb, Results);