mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
[Hexagon] Only allow single HVX vector loads/stores in lowering
This will prevent store widening from forming vector pair stores, which eventually end up broken up into single stores.
This commit is contained in:
parent
709977f244
commit
b8e8eb7800
@ -304,6 +304,10 @@ HexagonTargetLowering::allowsHvxMemoryAccess(MVT VecTy, unsigned Alignment,
|
||||
MachineMemOperand::Flags Flags, bool *Fast) const {
|
||||
// Bool vectors are excluded by default, but make it explicit to
|
||||
// emphasize that bool vectors cannot be loaded or stored.
|
||||
// Also, disallow double vector stores (to prevent unnecessary
|
||||
// store widening in DAG combiner).
|
||||
if (VecTy.getSizeInBits() > 8*Subtarget.getVectorLength())
|
||||
return false;
|
||||
if (!Subtarget.isHVXVectorType(VecTy, /*IncludeBool=*/false))
|
||||
return false;
|
||||
if (Fast)
|
||||
|
Loading…
Reference in New Issue
Block a user