complex-operands.s
770 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s | FileCheck %s
.syntax unified
.data
.type .L_table_begin,%object
.L_table_begin:
.rep 2
.long 0xd15ab1ed
.long 0x0ff1c1a1
.endr
.L_table_end:
.text
.type return,%function
return:
bx lr
.global arm_function
.type arm_function,%function
arm_function:
mov r0, #:lower16:((.L_table_end - .L_table_begin) >> 2)
blx return
@ CHECK-LABEL: arm_function
@ CHECK: movw r0, :lower16:((.L_table_end-.L_table_begin)>>2)
@ CHECK: blx return
.global thumb_function
.type thumb_function,%function
thumb_function:
mov r0, #:lower16:((.L_table_end - .L_table_begin) >> 2)
blx return
@ CHECK-LABEL: thumb_function
@ CHECK: movw r0, :lower16:((.L_table_end-.L_table_begin)>>2)
@ CHECK: blx return