Detect need for autoalignment of the stack earlier to catch spills more

conservatively. eliminateFrameIndex() machinery adjust to handle addr mode
6 (vld1/vst1) used for spills. Fix tests to expect aligned Q-reg spilling

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88874 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Grosbach
2009-11-15 21:45:34 +00:00
parent 6cb6788b79
commit a44321776e
6 changed files with 57 additions and 6 deletions

View File

@@ -11,8 +11,9 @@ declare <4 x float> @llvm.arm.neon.vld1.v4f32(i8*) nounwind readonly
define arm_apcscc void @aaa(%quuz* %this, i8* %block) {
; CHECK: aaa:
; CHECK: vstmia sp
; CHECK: vldmia sp
; CHECK: bic sp, sp, #15
; CHECK: vst1.64 {{.*}}sp @128
; CHECK: vld1.64 {{.*}}sp @128
entry:
%0 = call <4 x float> @llvm.arm.neon.vld1.v4f32(i8* undef) nounwind ; <<4 x float>> [#uses=1]
store float 6.300000e+01, float* undef, align 4