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