blob: c87cd22b2bad1b740ac23358e0a506cb251b63ea [file] [log] [blame]
Saleem Abdulrasool435f4562014-01-10 04:38:40 +00001@ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s | FileCheck %s
Saleem Abdulrasool2d48ede2014-01-11 23:03:48 +00002@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s | llvm-readobj -r \
3@ RUN: | FileCheck -check-prefix CHECK-RELOCATIONS %s
Saleem Abdulrasool435f4562014-01-10 04:38:40 +00004
5 .syntax unified
6
7 .type function,%function
8function:
9 bx lr
10
Saleem Abdulrasool2d48ede2014-01-11 23:03:48 +000011 .global external
12 .type external,%function
13
Saleem Abdulrasool435f4562014-01-10 04:38:40 +000014.set deadbeat, 0xdeadbea7
15
16 .type test,%function
17test:
18 movw r0, :lower16:function
19 movt r0, :upper16:function
20
21 movw r1, #:lower16:function
22 movt r1, #:upper16:function
23
24 movw r2, :lower16:deadbeat
25 movt r2, :upper16:deadbeat
26
27 movw r3, #:lower16:deadbeat
28 movt r3, #:upper16:deadbeat
29
30 movw r4, :lower16:0xD1510D6E
31 movt r4, :upper16:0xD1510D6E
32
33 movw r5, #:lower16:0xD1510D6E
34 movt r5, #:upper16:0xD1510D6E
35
Saleem Abdulrasool2d48ede2014-01-11 23:03:48 +000036 movw r0, :lower16:external
37 movt r0, :upper16:external
38
39 movw r1, #:lower16:external
40 movt r1, #:upper16:external
41
42 movw r2, #:lower16:(16 + 16)
43 movt r2, #:upper16:(16 + 16)
44
45 movw r3, :lower16:(16 + 16)
46 movt r3, :upper16:(16 + 16)
47
Saleem Abdulrasool435f4562014-01-10 04:38:40 +000048@ CHECK-LABEL: test:
49@ CHECK: movw r0, :lower16:function
50@ CHECK: movt r0, :upper16:function
51@ CHECK: movw r1, :lower16:function
52@ CHECK: movt r1, :upper16:function
53@ CHECK: movw r2, :lower16:(3735928487)
54@ CHECK: movt r2, :upper16:(3735928487)
55@ CHECK: movw r3, :lower16:(3735928487)
56@ CHECK: movt r3, :upper16:(3735928487)
57@ CHECK: movw r4, :lower16:(3511749998)
58@ CHECK: movt r4, :upper16:(3511749998)
59@ CHECK: movw r5, :lower16:(3511749998)
60@ CHECK: movt r5, :upper16:(3511749998)
Saleem Abdulrasool2d48ede2014-01-11 23:03:48 +000061@ CHECK: movw r0, :lower16:external
62@ CHECK: movt r0, :upper16:external
63@ CHECK: movw r1, :lower16:external
64@ CHECK: movt r1, :upper16:external
65@ CHECK: movw r2, :lower16:(32)
66@ CHECK: movt r2, :upper16:(32)
67@ CHECK: movw r3, :lower16:(32)
68@ CHECK: movt r3, :upper16:(32)
69
70@ CHECK-RELOCATIONS: Relocations [
71@ CHECK-RELOCATIONS: 0x4 R_ARM_MOVW_ABS_NC function 0x0
72@ CHECK-RELOCATIONS: 0x8 R_ARM_MOVT_ABS function 0x0
73@ CHECK-RELOCATIONS: 0xC R_ARM_MOVW_ABS_NC function 0x0
74@ CHECK-RELOCATIONS: 0x10 R_ARM_MOVT_ABS function 0x0
75@ CHECK-RELOCATIONS: 0x34 R_ARM_MOVW_ABS_NC external 0x0
76@ CHECK-RELOCATIONS: 0x38 R_ARM_MOVT_ABS external 0x0
77@ CHECK-RELOCATIONS: 0x3C R_ARM_MOVW_ABS_NC external 0x0
78@ CHECK-RELOCATIONS: 0x40 R_ARM_MOVT_ABS external 0x0
79@ CHECK-RELOCATIONS: ]
Saleem Abdulrasool435f4562014-01-10 04:38:40 +000080