forked from OSchip/llvm-project
[X86][AVX] lowerShuffleAsLanePermuteAndSHUFP - only set the demanded elements of the lane mask.
Fixes an cyclic dependency issue with an upcoming patch where getVectorShuffle canonicalizes masks with splat build vector sources.
This commit is contained in:
parent
60cc095ecc
commit
b375f28b0e
|
@ -14907,8 +14907,7 @@ static SDValue lowerShuffleAsLanePermuteAndSHUFP(const SDLoc &DL, MVT VT,
|
|||
continue;
|
||||
int LaneBase = i & ~1;
|
||||
auto &LaneMask = (i & 1) ? RHSMask : LHSMask;
|
||||
LaneMask[LaneBase + 0] = (M & ~1);
|
||||
LaneMask[LaneBase + 1] = (M & ~1) + 1;
|
||||
LaneMask[LaneBase + (M & 1)] = M;
|
||||
SHUFPMask |= (M & 1) << i;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue