diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-01-06 22:19:37 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-01-06 22:19:37 +0000 |
commit | bad1e6b8e0dd51a15f6f2cae4f9d7815120f2471 (patch) | |
tree | 51607066c4fcbc4e268c867d57927ac283f8b30e | |
parent | 260bf5364e151754c16f723d62c4080009bf98cb (diff) | |
download | external_llvm-bad1e6b8e0dd51a15f6f2cae4f9d7815120f2471.zip external_llvm-bad1e6b8e0dd51a15f6f2cae4f9d7815120f2471.tar.gz external_llvm-bad1e6b8e0dd51a15f6f2cae4f9d7815120f2471.tar.bz2 |
Enable aligned NEON spilling by default.
Experiments show this to be a small speedup for modern ARM cores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147689 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMFrameLowering.cpp | 2 | ||||
-rw-r--r-- | test/CodeGen/ARM/spill-q.ll | 2 | ||||
-rw-r--r-- | test/CodeGen/Thumb2/aligned-spill.ll | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/lib/Target/ARM/ARMFrameLowering.cpp b/lib/Target/ARM/ARMFrameLowering.cpp index deac545..5f54d49 100644 --- a/lib/Target/ARM/ARMFrameLowering.cpp +++ b/lib/Target/ARM/ARMFrameLowering.cpp @@ -28,7 +28,7 @@ using namespace llvm; cl::opt<bool> -SpillAlignedNEONRegs("align-neon-spills", cl::Hidden, +SpillAlignedNEONRegs("align-neon-spills", cl::Hidden, cl::init(true), cl::desc("Align ARM NEON spills in prolog and epilog")); static MachineBasicBlock::iterator diff --git a/test/CodeGen/ARM/spill-q.ll b/test/CodeGen/ARM/spill-q.ll index bf4e55c..057ea11 100644 --- a/test/CodeGen/ARM/spill-q.ll +++ b/test/CodeGen/ARM/spill-q.ll @@ -11,7 +11,7 @@ declare <4 x float> @llvm.arm.neon.vld1.v4f32(i8*, i32) nounwind readonly define void @aaa(%quuz* %this, i8* %block) { ; CHECK: aaa: -; CHECK: bic sp, sp, #15 +; CHECK: bic {{.*}}, #15 ; CHECK: vst1.64 {{.*}}sp, :128 ; CHECK: vld1.64 {{.*}}sp, :128 entry: diff --git a/test/CodeGen/Thumb2/aligned-spill.ll b/test/CodeGen/Thumb2/aligned-spill.ll index 948c8ce..c98ca80 100644 --- a/test/CodeGen/Thumb2/aligned-spill.ll +++ b/test/CodeGen/Thumb2/aligned-spill.ll @@ -1,5 +1,5 @@ -; RUN: llc < %s -mcpu=cortex-a8 | FileCheck %s -; RUN: llc < %s -mcpu=cortex-a8 -align-neon-spills | FileCheck %s --check-prefix=NEON +; RUN: llc < %s -mcpu=cortex-a8 -align-neon-spills=0 | FileCheck %s +; RUN: llc < %s -mcpu=cortex-a8 -align-neon-spills=1 | FileCheck %s --check-prefix=NEON target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32" target triple = "thumbv7-apple-ios" |