7f7590f426f7c1b89212c2cfe69c133b51f47dac
[oota-llvm.git] / test / MC / ARM / elf-movt.s
1 @ RUN: llvm-mc %s -triple=armv7-linux-gnueabi | FileCheck -check-prefix=ASM %s
2 @ RUN: llvm-mc %s -triple=armv7-linux-gnueabi -filetype=obj -o - | \
3 @ RUN:    llvm-readobj -s -sd -sr | FileCheck -check-prefix=OBJ %s
4         .syntax unified
5         .text
6         .globl  barf
7         .align  2
8         .type   barf,%function
9 barf:                                   @ @barf
10 @ BB#0:                                 @ %entry
11         movw    r0, :lower16:GOT-(.LPC0_2+8)
12         movt    r0, :upper16:GOT-(.LPC0_2+8)
13 .LPC0_2:
14 @ ASM:          movw    r0, :lower16:(GOT-(.LPC0_2+8))
15 @ ASM-NEXT:     movt    r0, :upper16:(GOT-(.LPC0_2+8))
16
17 @@ make sure that the text section fixups are sane too
18 @ OBJ:        Section {
19 @ OBJ:          Name: .text
20 @ OBJ-NEXT:     Type: SHT_PROGBITS
21 @ OBJ-NEXT:     Flags [ (0x6)
22 @ OBJ-NEXT:       SHF_ALLOC
23 @ OBJ-NEXT:       SHF_EXECINSTR
24 @ OBJ-NEXT:     ]
25 @ OBJ-NEXT:     Address: 0x0
26 @ OBJ-NEXT:     Offset: 0x34
27 @ OBJ-NEXT:     Size: 8
28 @ OBJ-NEXT:     Link: 0
29 @ OBJ-NEXT:     Info: 0
30 @ OBJ-NEXT:     AddressAlignment: 4
31 @ OBJ-NEXT:     EntrySize: 0
32 @ OBJ-NEXT:     Relocations [
33 @ OBJ-NEXT:     ]
34 @ OBJ-NEXT:     SectionData (
35 @ OBJ-NEXT:       0000: F00F0FE3 F40F4FE3
36 @ OBJ-NEXT:     )
37 @ OBJ-NEXT:   }
38 @ OBJ-NEXT:   Section {
39 @ OBJ-NEXT:     Index: 2
40 @ OBJ-NEXT:     Name: .rel.text (1)
41 @ OBJ-NEXT:     Type: SHT_REL (0x9)
42 @ OBJ-NEXT:     Flags [ (0x0)
43 @ OBJ-NEXT:     ]
44 @ OBJ-NEXT:     Address: 0x0
45 @ OBJ-NEXT:     Offset:
46 @ OBJ-NEXT:     Size: 16
47 @ OBJ-NEXT:     Link: 6
48 @ OBJ-NEXT:     Info: 1
49 @ OBJ-NEXT:     AddressAlignment: 4
50 @ OBJ-NEXT:     EntrySize: 8
51 @ OBJ-NEXT:     Relocations [
52 @ OBJ-NEXT:       0x0 R_ARM_MOVW_PREL_NC
53 @ OBJ-NEXT:       0x4 R_ARM_MOVT_PREL
54 @ OBJ-NEXT:   ]
55 @ OBJ-NEXT:     SectionData (
56 @ OBJ-NEXT:       0000: 00000000 2D060000 04000000 2E060000  |....-...........|
57 @ OBJ-NEXT:     )
58 @ OBJ-NEXT:   }