[AArch64] Lower interleaved memory accesses to ldN/stN intrinsics. This patch also...
[oota-llvm.git] / lib / Target / AArch64 / AArch64ISelLowering.h
index da42376ac250feb4870fa0fa0ba61413cd9a0679..46298c0e7de1fea1dc7decc04b818013fa65c709 100644 (file)
@@ -305,6 +305,15 @@ public:
                      unsigned &RequiredAligment) const override;
   bool hasPairedLoad(EVT LoadedType, unsigned &RequiredAligment) const override;
 
+  unsigned getMaxSupportedInterleaveFactor() const override { return 4; }
+
+  bool lowerInterleavedLoad(LoadInst *LI,
+                            ArrayRef<ShuffleVectorInst *> Shuffles,
+                            ArrayRef<unsigned> Indices,
+                            unsigned Factor) const override;
+  bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
+                             unsigned Factor) const override;
+
   bool isLegalAddImmediate(int64_t) const override;
   bool isLegalICmpImmediate(int64_t) const override;