1; RUN: llc < %s -mtriple=armv4t-unknown-eabi | FileCheck %s -check-prefix=THUMB
2; RUN: llc < %s -mtriple=armv4-unknown-eabi -mcpu=strongarm | FileCheck %s -check-prefix=ARM
3; RUN: llc < %s -mtriple=armv7-unknown-eabi -mcpu=cortex-a8 | FileCheck %s -check-prefix=THUMB
4; RUN: llc < %s -mtriple=armv6-unknown-eabi | FileCheck %s -check-prefix=THUMB
5; RUN: llc < %s -mtriple=armv4-unknown-eabi | FileCheck %s -check-prefix=ARM
6; RUN: llc < %s -mtriple=armv4t-unknown-eabi | FileCheck %s -check-prefix=THUMB
7
8define i32 @test_return(i32 %a) nounwind readnone {
9entry:
10; ARM-LABEL: test_return
11; ARM: mov pc
12; THUMB-LABEL: test_return
13; THUMB: bx
14  ret i32 %a
15}
16
17@helper = global i32 ()* null, align 4
18
19define i32 @test_indirect() #0 {
20entry:
21; ARM-LABEL: test_indirect
22; ARM: mov pc
23; THUMB-LABEL: test_indirect
24; THUMB: bx
25  %0 = load i32 ()*, i32 ()** @helper, align 4
26  %call = tail call i32 %0()
27  ret i32 %call
28}
29