summaryrefslogtreecommitdiff
path: root/test/MC/ARM/complex-operands.s
blob: 72f8f88d2aa41b6d25b03c5202839590ea8a97fd (plain)
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