1 ; RUN: llc < %s -march=arm64 | FileCheck %s 2 3 define void @caller(i32* nocapture %p, i32 %a, i32 %b) nounwind optsize ssp { 4 ; CHECK-NOT: stp 5 ; CHECK: b {{_callee|callee}} 6 ; CHECK-NOT: ldp 7 ; CHECK: ret 8 %1 = icmp eq i32 %b, 0 9 br i1 %1, label %3, label %2 10 11 tail call fastcc void @callee(i32* %p, i32 %a) optsize 12 br label %3 13 14 ret void 15 } 16 17 define internal fastcc void @callee(i32* nocapture %p, i32 %a) nounwind optsize noinline ssp { 18 store volatile i32 %a, i32* %p, align 4, !tbaa !0 19 ret void 20 } 21 22 !0 = !{!"int", !1} 23 !1 = !{!"omnipotent char", !2} 24 !2 = !{!"Simple C/C++ TBAA"} 25