1; RUN: llc -o - %s | FileCheck %s 2target triple = "armv7" 3 4; CHECK-LABEL: func: 5; CHECK: push {r11, lr} 6; CHECK: vpush {d8} 7; CHECK: .LBB0_1: @ %tailrecurse 8define arm_aapcscc double @func() { 9 br label %tailrecurse 10 11tailrecurse: 12 %v0 = load i16, ptr undef, align 8 13 %cond36.i = icmp eq i16 %v0, 3 14 br i1 %cond36.i, label %sw.bb.i, label %sw.epilog.i 15 16sw.bb.i: 17 %v1 = load double, ptr undef, align 8 18 %call21.i = tail call arm_aapcscc double @func() 19 %mul.i = fmul double %v1, %call21.i 20 ret double %mul.i 21 22sw.epilog.i: 23 tail call arm_aapcscc void @_ZNK10shared_ptrdeEv() 24 br label %tailrecurse 25} 26 27declare arm_aapcscc void @_ZNK10shared_ptrdeEv() local_unnamed_addr 28