From 824431f680adb2e935bb5512e9cc9ccbe1a9136b Mon Sep 17 00:00:00 2001 From: James Molloy Date: Thu, 21 Aug 2014 00:02:51 +0000 Subject: [PATCH] [LoopVectorize] Up the maximum unroll factor to 4 for AArch64 Only for Cortex-A57 and Cyclone for now, where it has shown wins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216141 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/AArch64/AArch64TargetTransformInfo.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/Target/AArch64/AArch64TargetTransformInfo.cpp b/lib/Target/AArch64/AArch64TargetTransformInfo.cpp index 2058dd06b21..24cb129b0b7 100644 --- a/lib/Target/AArch64/AArch64TargetTransformInfo.cpp +++ b/lib/Target/AArch64/AArch64TargetTransformInfo.cpp @@ -104,7 +104,7 @@ public: return 64; } - unsigned getMaximumUnrollFactor() const override { return 2; } + unsigned getMaximumUnrollFactor() const override; unsigned getCastInstrCost(unsigned Opcode, Type *Dst, Type *Src) const override; @@ -513,3 +513,9 @@ unsigned AArch64TTI::getCostOfKeepingLiveOverCall(ArrayRef Tys) const { } return Cost; } + +unsigned AArch64TTI::getMaximumUnrollFactor() const { + if (ST->isCortexA57() || ST->isCyclone()) + return 4; + return 2; +}