xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/2010-03-18-ldm-rtrn.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=armv4-unknown-eabi | FileCheck %s -check-prefix=V4
2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=armv5-unknown-eabi | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=armv6-unknown-eabi | FileCheck %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine i32 @bar(i32 %a) nounwind {
6*9880d681SAndroid Build Coastguard Workerentry:
7*9880d681SAndroid Build Coastguard Worker  %0 = tail call i32 @foo(i32 %a) nounwind ; <i32> [#uses=1]
8*9880d681SAndroid Build Coastguard Worker  %1 = add nsw i32 %0, 3                          ; <i32> [#uses=1]
9*9880d681SAndroid Build Coastguard Worker; CHECK: pop {r11, pc}
10*9880d681SAndroid Build Coastguard Worker; V4: pop
11*9880d681SAndroid Build Coastguard Worker; V4-NEXT: mov pc, lr
12*9880d681SAndroid Build Coastguard Worker  ret i32 %1
13*9880d681SAndroid Build Coastguard Worker}
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerdeclare i32 @foo(i32)
16