1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00

[X86] Remove extract_subvector(subv_broadcast_load()) fold.

This was needed in an earlier version of D92645, but isn't now - and I've just noticed that it was potentially flawed depending on the relevant widths of the broadcasted and extracted subvectors.
This commit is contained in:
Simon Pilgrim 2020-12-17 11:02:34 +00:00
parent 4e1f84e7cc
commit fdd8c22c46

View File

@ -49390,8 +49390,7 @@ static SDValue combineExtractSubvector(SDNode *N, SelectionDAG &DAG,
// extract the lowest subvector instead which should allow
// SimplifyDemandedVectorElts do more simplifications.
if (IdxVal != 0 && (InVec.getOpcode() == X86ISD::VBROADCAST ||
InVec.getOpcode() == X86ISD::VBROADCAST_LOAD ||
InVec.getOpcode() == X86ISD::SUBV_BROADCAST_LOAD))
InVec.getOpcode() == X86ISD::VBROADCAST_LOAD))
return extractSubVector(InVec, 0, DAG, SDLoc(N), SizeInBits);
// If we're extracting a broadcasted subvector, just use the source.