• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// RUN: llvm-mc %s -triple=armv7-apple-darwin -filetype=asm -o - \
2// RUN:   | FileCheck %s --check-prefix=CHECK-ASM
3// RUN: llvm-mc %s -triple=armv7-apple-darwin -filetype=obj -o - \
4// RUN:   | llvm-objdump -triple=thumbv7 -d - | FileCheck %s --check-prefixes=CHECK-OBJ-CODE
5// RUN: llvm-mc %s -triple=thumbv7-win32-gnu -filetype=asm -o - \
6// RUN:   | FileCheck %s --check-prefix=CHECK-ASM
7// RUN: llvm-mc %s -triple=thumbv7-win32-gnu -filetype=obj -o - \
8// RUN:   | llvm-objdump -d - | FileCheck %s --check-prefixes=CHECK-OBJ,CHECK-OBJ-CODE
9// RUN: llvm-mc %s -triple=armv7-linux-gnueabi -filetype=asm -o - \
10// RUN:   | FileCheck %s --check-prefix=CHECK-ASM
11// RUN: llvm-mc %s -triple=armv7-linux-gnueabi -filetype=obj -o - \
12// RUN:   | llvm-objdump -d -triple=thumbv7 - | FileCheck %s --check-prefixes=CHECK-OBJ,CHECK-OBJ-DATA
13
14    .text
15
16    .p2align  2
17    .globl _func
18    .thumb
19_func:
20    // ELF distinguishes between data and code when emitted this way, but
21    // MachO and COFF don't.
22    bx      lr
23    .short  0x4770
24    .inst.n 0x4770
25    mov.w   r0, #42
26    .short  0xf04f, 0x002a
27    .inst.w 0xf04f002a
28
29// CHECK-ASM:        .p2align  2
30// CHECK-ASM:        .globl  _func
31// CHECK-ASM: _func:
32// CHECK-ASM:        bx      lr
33// CHECK-ASM:        .short  18288
34// CHECK-ASM:        .inst.n 0x4770
35// CHECK-ASM:        mov.w   r0, #42
36// CHECK-ASM:        .short  61519
37// CHECK-ASM:        .short  42
38// CHECK-ASM:        .inst.w 0xf04f002a
39
40// CHECK-OBJ:        0:       70 47           bx lr
41// CHECK-OBJ-CODE:   2:       70 47           bx lr
42// CHECK-OBJ-DATA:   2:       70 47           .short 0x4770
43// CHECK-OBJ:        4:       70 47           bx lr
44// CHECK-OBJ:        6:       4f f0 2a 00     mov.w   r0, #42
45// CHECK-OBJ-CODE:   a:       4f f0 2a 00     mov.w   r0, #42
46// CHECK-OBJ-DATA:   a:       4f f0 2a 00     .word 0x002af04f
47// CHECK-OBJ:        e:       4f f0 2a 00     mov.w   r0, #42
48