1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 08:23:21 +01:00
llvm-mirror/test/CodeGen/ARM/alloc-no-stack-realign.ll
Bob Wilson d9dfcce74f Revert 172027 and 174336. Remove diagnostics about over-aligned stack objects.
Aside from the question of whether we report a warning or an error when we
can't satisfy a requested stack object alignment, the current implementation
of this is not good.  We're not providing any source location in the diagnostics
and the current warning is not connected to any warning group so you can't
control it.  We could improve the source location somewhat, but we can do a
much better job if this check is implemented in the front-end, so let's do that
instead.  <rdar://problem/13127907>

llvm-svn: 174741
2013-02-08 20:35:15 +00:00

49 lines
1.6 KiB
LLVM

; RUN: llc < %s -mtriple=armv7-apple-ios -O0 -realign-stack=0 | FileCheck %s -check-prefix=NO-REALIGN
; RUN: llc < %s -mtriple=armv7-apple-ios -O0 | FileCheck %s
; rdar://12713765
; When realign-stack is set to false, make sure we are not creating stack
; objects that are assumed to be 64-byte aligned.
@T3_retval = common global <16 x float> zeroinitializer, align 16
define void @test(<16 x float>* noalias sret %agg.result) nounwind ssp {
entry:
; CHECK: test
; CHECK: bic sp, sp, #63
; CHECK: orr [[R2:r[0-9]+]], [[R1:r[0-9]+]], #48
; CHECK: vst1.64
; CHECK: orr [[R2:r[0-9]+]], [[R1:r[0-9]+]], #32
; CHECK: vst1.64
; CHECK: orr [[R2:r[0-9]+]], [[R1:r[0-9]+]], #16
; CHECK: vst1.64
; CHECK: vst1.64
; CHECK: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #48
; CHECK: vst1.64
; CHECK: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #32
; CHECK: vst1.64
; CHECK: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #16
; CHECK: vst1.64
; CHECK: vst1.64
; NO-REALIGN: test
; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #48
; NO-REALIGN: vst1.64
; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #32
; NO-REALIGN: vst1.64
; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #16
; NO-REALIGN: vst1.64
; NO-REALIGN: vst1.64
; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #48
; NO-REALIGN: vst1.64
; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #32
; NO-REALIGN: vst1.64
; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #16
; NO-REALIGN: vst1.64
; NO-REALIGN: vst1.64
%retval = alloca <16 x float>, align 16
%0 = load <16 x float>* @T3_retval, align 16
store <16 x float> %0, <16 x float>* %retval
%1 = load <16 x float>* %retval
store <16 x float> %1, <16 x float>* %agg.result, align 16
ret void
}