1 
2 // REQUIRES: thumb-2
3 // RUN: %cc% %ccflags% %ccout% %T/%basename_t.o %s; llvm-objdump --mcpu=%mcpu% -d %T/%basename_t.o | FileCheck --allow-unused-prefixes --check-prefixes %prefixes% %s
4 
5 #include "cmsis_compiler.h"
6 
7 static volatile uint8_t v8 = 0x7u;
8 static volatile uint16_t v16 = 0x7u;
9 static volatile uint32_t v32 = 0x7u;
10 
ldrbt()11 void ldrbt() {
12     // CHECK-LABEL: <ldrbt>:
13     // CHECK: ldrbt {{r[0-9]+}}, [{{r[0-9]+}}]
14     volatile uint8_t result = __LDRBT(&v8);
15     // CHECK: {{(bx lr)|(pop {.*pc})}}
16 }
17 
ldrht()18 void ldrht() {
19     // CHECK-LABEL: <ldrht>:
20     // CHECK: ldrht {{r[0-9]+}}, [{{r[0-9]+}}]
21     volatile uint16_t result = __LDRHT(&v16);
22     // CHECK: {{(bx lr)|(pop {.*pc})}}
23 }
24 
ldrt()25 void ldrt() {
26     // CHECK-LABEL: <ldrt>:
27     // CHECK: ldrt {{r[0-9]+}}, [{{r[0-9]+}}]
28     volatile uint32_t result = __LDRT(&v32);
29     // CHECK: {{(bx lr)|(pop {.*pc})}}
30 }
31