diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/Hexagon/HexagonISelLowering.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp b/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp index 8e113b954fd..34f553a7dd6 100644 --- a/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp +++ b/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp @@ -1968,9 +1968,13 @@ HexagonTargetLowering::HexagonTargetLowering(const TargetMachine &TM, for (unsigned VectExpOp : VectExpOps) setOperationAction(VectExpOp, VT, Expand); - // Expand all extended loads and truncating stores: + // Expand all extending loads and truncating stores: for (MVT TargetVT : MVT::vector_valuetypes()) { + if (TargetVT == VT) + continue; setLoadExtAction(ISD::EXTLOAD, TargetVT, VT, Expand); + setLoadExtAction(ISD::ZEXTLOAD, TargetVT, VT, Expand); + setLoadExtAction(ISD::SEXTLOAD, TargetVT, VT, Expand); setTruncStoreAction(VT, TargetVT, Expand); } |

