Lines Matching refs:RepeatedMask
9489 SmallVectorImpl<int> &RepeatedMask) { in isRepeatedShuffleMask() argument
9491 RepeatedMask.assign(LaneSize, -1); in isRepeatedShuffleMask()
9505 if (RepeatedMask[i % LaneSize] < 0) in isRepeatedShuffleMask()
9507 RepeatedMask[i % LaneSize] = LocalM; in isRepeatedShuffleMask()
9508 else if (RepeatedMask[i % LaneSize] != LocalM) in isRepeatedShuffleMask()
9518 SmallVectorImpl<int> &RepeatedMask) { in is128BitLaneRepeatedShuffleMask() argument
9519 return isRepeatedShuffleMask(128, VT, Mask, RepeatedMask); in is128BitLaneRepeatedShuffleMask()
9524 SmallVector<int, 32> RepeatedMask; in is128BitLaneRepeatedShuffleMask() local
9525 return isRepeatedShuffleMask(128, VT, Mask, RepeatedMask); in is128BitLaneRepeatedShuffleMask()
9531 SmallVectorImpl<int> &RepeatedMask) { in is256BitLaneRepeatedShuffleMask() argument
9532 return isRepeatedShuffleMask(256, VT, Mask, RepeatedMask); in is256BitLaneRepeatedShuffleMask()
9539 SmallVectorImpl<int> &RepeatedMask) { in isRepeatedTargetShuffleMask() argument
9541 RepeatedMask.assign(LaneSize, SM_SentinelUndef); in isRepeatedTargetShuffleMask()
9548 if (!isUndefOrZero(RepeatedMask[i % LaneSize])) in isRepeatedTargetShuffleMask()
9550 RepeatedMask[i % LaneSize] = SM_SentinelZero; in isRepeatedTargetShuffleMask()
9561 if (RepeatedMask[i % LaneSize] == SM_SentinelUndef) in isRepeatedTargetShuffleMask()
9563 RepeatedMask[i % LaneSize] = LocalM; in isRepeatedTargetShuffleMask()
9564 else if (RepeatedMask[i % LaneSize] != LocalM) in isRepeatedTargetShuffleMask()
10367 SmallVector<int, 8> RepeatedMask; in lowerVectorShuffleAsBlend() local
10368 if (is128BitLaneRepeatedShuffleMask(MVT::v16i16, Mask, RepeatedMask)) { in lowerVectorShuffleAsBlend()
10370 assert(RepeatedMask.size() == 8 && "Repeated mask size doesn't match!"); in lowerVectorShuffleAsBlend()
10373 if (RepeatedMask[i] >= 8) in lowerVectorShuffleAsBlend()
10806 SmallVector<int, 16> RepeatedMask; in matchVectorShuffleAsByteRotate() local
10807 if (!is128BitLaneRepeatedShuffleMask(VT, Mask, RepeatedMask)) in matchVectorShuffleAsByteRotate()
10810 int Rotation = matchVectorShuffleAsRotate(V1, V2, RepeatedMask); in matchVectorShuffleAsByteRotate()
10816 int NumElts = RepeatedMask.size(); in matchVectorShuffleAsByteRotate()
14544 SmallVector<int, 8> RepeatedMask((unsigned)NumElts, -1); in lowerShuffleAsRepeatedMaskAndLanePermute() local
14553 RepeatedMask[Idx] = M + (Lane * NumLaneElts); in lowerShuffleAsRepeatedMaskAndLanePermute()
14556 SDValue RepeatedShuffle = DAG.getVectorShuffle(VT, DL, V1, V2, RepeatedMask); in lowerShuffleAsRepeatedMaskAndLanePermute()
14757 SmallVector<int, 2> RepeatedMask; in lowerV4I64VectorShuffle() local
14758 if (is128BitLaneRepeatedShuffleMask(MVT::v4i64, Mask, RepeatedMask)) { in lowerV4I64VectorShuffle()
14760 scaleShuffleMask<int>(2, RepeatedMask, PSHUFDMask); in lowerV4I64VectorShuffle()
14845 SmallVector<int, 4> RepeatedMask; in lowerV8F32VectorShuffle() local
14846 if (is128BitLaneRepeatedShuffleMask(MVT::v8f32, Mask, RepeatedMask)) { in lowerV8F32VectorShuffle()
14847 assert(RepeatedMask.size() == 4 && in lowerV8F32VectorShuffle()
14851 if (isShuffleEquivalent(V1, V2, RepeatedMask, {0, 0, 2, 2})) in lowerV8F32VectorShuffle()
14853 if (isShuffleEquivalent(V1, V2, RepeatedMask, {1, 1, 3, 3})) in lowerV8F32VectorShuffle()
14858 getV4X86ShuffleImm8ForMask(RepeatedMask, DL, DAG)); in lowerV8F32VectorShuffle()
14867 return lowerVectorShuffleWithSHUFPS(DL, MVT::v8f32, RepeatedMask, V1, V2, DAG); in lowerV8F32VectorShuffle()
14963 SmallVector<int, 4> RepeatedMask; in lowerV8I32VectorShuffle() local
14965 is128BitLaneRepeatedShuffleMask(MVT::v8i32, Mask, RepeatedMask); in lowerV8I32VectorShuffle()
14967 assert(RepeatedMask.size() == 4 && "Unexpected repeated mask size!"); in lowerV8I32VectorShuffle()
14970 getV4X86ShuffleImm8ForMask(RepeatedMask, DL, DAG)); in lowerV8I32VectorShuffle()
15015 if (Is128BitLaneRepeatedShuffle && isSingleSHUFPSMask(RepeatedMask)) { in lowerV8I32VectorShuffle()
15018 SDValue ShufPS = lowerVectorShuffleWithSHUFPS(DL, MVT::v8f32, RepeatedMask, in lowerV8I32VectorShuffle()
15102 SmallVector<int, 8> RepeatedMask; in lowerV16I16VectorShuffle() local
15103 if (is128BitLaneRepeatedShuffleMask(MVT::v16i16, Mask, RepeatedMask)) { in lowerV16I16VectorShuffle()
15108 DL, MVT::v16i16, V1, RepeatedMask, Subtarget, DAG); in lowerV16I16VectorShuffle()
15425 SmallVector<int, 4> RepeatedMask; in lowerV8F64VectorShuffle() local
15426 if (is256BitLaneRepeatedShuffleMask(MVT::v8f64, Mask, RepeatedMask)) in lowerV8F64VectorShuffle()
15428 getV4X86ShuffleImm8ForMask(RepeatedMask, DL, DAG)); in lowerV8F64VectorShuffle()
15468 SmallVector<int, 4> RepeatedMask; in lowerV16F32VectorShuffle() local
15469 if (is128BitLaneRepeatedShuffleMask(MVT::v16f32, Mask, RepeatedMask)) { in lowerV16F32VectorShuffle()
15470 assert(RepeatedMask.size() == 4 && "Unexpected repeated mask size!"); in lowerV16F32VectorShuffle()
15473 if (isShuffleEquivalent(V1, V2, RepeatedMask, {0, 0, 2, 2})) in lowerV16F32VectorShuffle()
15475 if (isShuffleEquivalent(V1, V2, RepeatedMask, {1, 1, 3, 3})) in lowerV16F32VectorShuffle()
15480 getV4X86ShuffleImm8ForMask(RepeatedMask, DL, DAG)); in lowerV16F32VectorShuffle()
15492 return lowerVectorShuffleWithSHUFPS(DL, MVT::v16f32, RepeatedMask, V1, V2, DAG); in lowerV16F32VectorShuffle()
15597 SmallVector<int, 4> RepeatedMask; in lowerV16I32VectorShuffle() local
15599 is128BitLaneRepeatedShuffleMask(MVT::v16i32, Mask, RepeatedMask); in lowerV16I32VectorShuffle()
15601 assert(RepeatedMask.size() == 4 && "Unexpected repeated mask size!"); in lowerV16I32VectorShuffle()
15604 getV4X86ShuffleImm8ForMask(RepeatedMask, DL, DAG)); in lowerV16I32VectorShuffle()
15630 if (Is128BitLaneRepeatedShuffle && isSingleSHUFPSMask(RepeatedMask)) { in lowerV16I32VectorShuffle()
15633 SDValue ShufPS = lowerVectorShuffleWithSHUFPS(DL, MVT::v16f32, RepeatedMask, in lowerV16I32VectorShuffle()
15682 SmallVector<int, 8> RepeatedMask; in lowerV32I16VectorShuffle() local
15683 if (is128BitLaneRepeatedShuffleMask(MVT::v32i16, Mask, RepeatedMask)) { in lowerV32I16VectorShuffle()
15688 DL, MVT::v32i16, V1, RepeatedMask, Subtarget, DAG); in lowerV32I16VectorShuffle()
30483 SmallVector<int, 4> RepeatedMask; in matchUnaryPermuteVectorShuffle() local
30484 if (is256BitLaneRepeatedShuffleMask(MVT::v8f64, Mask, RepeatedMask)) { in matchUnaryPermuteVectorShuffle()
30487 PermuteImm = getV4X86ShuffleImm(RepeatedMask); in matchUnaryPermuteVectorShuffle()
30512 SmallVector<int, 4> RepeatedMask; in matchUnaryPermuteVectorShuffle() local
30513 if (is128BitLaneRepeatedShuffleMask(MaskEltVT, Mask, RepeatedMask)) { in matchUnaryPermuteVectorShuffle()
30515 SmallVector<int, 4> WordMask = RepeatedMask; in matchUnaryPermuteVectorShuffle()
30517 scaleShuffleMask<int>(2, RepeatedMask, WordMask); in matchUnaryPermuteVectorShuffle()
30529 SmallVector<int, 4> RepeatedMask; in matchUnaryPermuteVectorShuffle() local
30530 if (is128BitLaneRepeatedShuffleMask(MaskEltVT, Mask, RepeatedMask)) { in matchUnaryPermuteVectorShuffle()
30676 SmallVector<int, 8> RepeatedMask; in matchBinaryPermuteVectorShuffle() local
30678 RepeatedMask)) { in matchBinaryPermuteVectorShuffle()
30679 assert(RepeatedMask.size() == 8 && in matchBinaryPermuteVectorShuffle()
30683 if (RepeatedMask[i] >= 8) in matchBinaryPermuteVectorShuffle()
30753 SmallVector<int, 4> RepeatedMask; in matchBinaryPermuteVectorShuffle() local
30754 if (isRepeatedTargetShuffleMask(128, MaskVT, Mask, RepeatedMask)) { in matchBinaryPermuteVectorShuffle()
30758 int M0 = RepeatedMask[Offset]; in matchBinaryPermuteVectorShuffle()
30759 int M1 = RepeatedMask[Offset + 1]; in matchBinaryPermuteVectorShuffle()
30761 if (isUndefInRange(RepeatedMask, Offset, 2)) { in matchBinaryPermuteVectorShuffle()
30763 } else if (isUndefOrZeroInRange(RepeatedMask, Offset, 2)) { in matchBinaryPermuteVectorShuffle()