1; RUN: llc < %s -mtriple=armv7-apple-ios -O0 -realign-stack=0 | FileCheck %s -check-prefix=NO-REALIGN 2; RUN: llc < %s -mtriple=armv7-apple-ios -O0 | FileCheck %s 3 4; rdar://12713765 5; When realign-stack is set to false, make sure we are not creating stack 6; objects that are assumed to be 64-byte aligned. 7@T3_retval = common global <16 x float> zeroinitializer, align 16 8 9define void @test(<16 x float>* noalias sret %agg.result) nounwind ssp { 10entry: 11; CHECK: test 12; CHECK: bic sp, sp, #63 13; CHECK: orr [[R2:r[0-9]+]], [[R1:r[0-9]+]], #48 14; CHECK: vst1.64 15; CHECK: orr [[R2:r[0-9]+]], [[R1:r[0-9]+]], #32 16; CHECK: vst1.64 17; CHECK: orr [[R2:r[0-9]+]], [[R1:r[0-9]+]], #16 18; CHECK: vst1.64 19; CHECK: vst1.64 20; CHECK: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #48 21; CHECK: vst1.64 22; CHECK: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #32 23; CHECK: vst1.64 24; CHECK: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #16 25; CHECK: vst1.64 26; CHECK: vst1.64 27; NO-REALIGN: test 28; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #48 29; NO-REALIGN: vst1.64 30; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #32 31; NO-REALIGN: vst1.64 32; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #16 33; NO-REALIGN: vst1.64 34; NO-REALIGN: vst1.64 35; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #48 36; NO-REALIGN: vst1.64 37; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #32 38; NO-REALIGN: vst1.64 39; NO-REALIGN: add [[R2:r[0-9]+]], [[R1:r[0-9]+]], #16 40; NO-REALIGN: vst1.64 41; NO-REALIGN: vst1.64 42 %retval = alloca <16 x float>, align 4 43 %0 = load <16 x float>* @T3_retval, align 16 44 store <16 x float> %0, <16 x float>* %retval 45 %1 = load <16 x float>* %retval 46 store <16 x float> %1, <16 x float>* %agg.result, align 16 47 ret void 48} 49