1 ; RUN: llc < %s -mtriple=thumbv6m-none-eabi -relocation-model=static | FileCheck %s -check-prefixes=CHECK
6 ; CHECK: ldr [[REG:r[0-9]+]], [[LABEL:[^\s]+]]
7 ; CHECK-NEXT: blx [[REG]]
9 ; CHECK-NEXT: .long bar
14 define void @execute_only_fn() #1 {
15 ; CHECK-LABEL: execute_only_fn:
16 ; CHECK: movs [[REG0:r[0-9]+]], :upper8_15:bar
17 ; CHECK-NEXT: lsls [[REG0]], [[REG0]], #8
18 ; CHECK-NEXT: adds [[REG0]], :upper0_7:bar
19 ; CHECK-NEXT: lsls [[REG0]], [[REG0]], #8
20 ; CHECK-NEXT: adds [[REG0]], :lower8_15:bar
21 ; CHECK-NEXT: lsls [[REG0]], [[REG0]], #8
22 ; CHECK-NEXT: adds [[REG0]], :lower0_7:bar
23 ; CHECK-NEXT: blx [[REG0]]
31 attributes #0 = { noinline optnone "target-features"="+thumb-mode,+long-calls" }
32 attributes #1 = { noinline optnone "target-features"="+execute-only,+thumb-mode,+long-calls" }
34 declare dso_local void @bar()