Enable aligned NEON spilling by default.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 6 Jan 2012 22:19:37 +0000 (22:19 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 6 Jan 2012 22:19:37 +0000 (22:19 +0000)
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

lib/Target/ARM/ARMFrameLowering.cpp
test/CodeGen/ARM/spill-q.ll
test/CodeGen/Thumb2/aligned-spill.ll

index deac5451c1797910dc3d85d4e7c79058034a7357..5f54d49835b9c0e3b878656f7cadd763c455f1d4 100644 (file)
@@ -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
index bf4e55cb06c4d84b07c58a5c5bc883412caa2cff..057ea11389ac183b61e3b56e0a545a48603e9963 100644 (file)
@@ -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:
index 948c8ce2c2d72123976314c7de544d59668a2fa7..c98ca8098583251d1bbca31820b8b3c5b425e08e 100644 (file)
@@ -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"