]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/elf/Mips/hilo16-1.test
Vendor import of lld trunk r233088:
[FreeBSD/FreeBSD.git] / test / elf / Mips / hilo16-1.test
1 # REQUIRES: mips
2
3 # Check handling multiple HI16 relocation followed by a single LO16 relocation.
4 #
5 # RUN: llvm-mc -triple=mipsel -filetype=obj -o=%t-obj %s
6 # RUN: lld -flavor gnu -target mipsel -e glob1 -o %t-exe %t-obj
7 # RUN: llvm-objdump -t -disassemble %t-exe | FileCheck %s
8
9 # CHECK: Disassembly of section .text:
10 # CHECK: glob1:
11 # CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c  lui     $8, 64
12 # CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c  lui     $8, 64
13 # CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c  lui     $8, 64
14 # CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c  lui     $8, 64
15 # CHECK-NEXT: {{[0-9a-f]+}}: 42 00 08 3c  lui     $8, 66
16 # CHECK-NEXT: {{[0-9a-f]+}}: 3e 00 08 3c  lui     $8, 62
17 # CHECK-NEXT: {{[0-9a-f]+}}: 40 02 08 3c  lui     $8, 576
18 # CHECK-NEXT: {{[0-9a-f]+}}: 40 fe 08 3c  lui     $8, 65088
19 # CHECK-NEXT: {{[0-9a-f]+}}: 55 01 08 85  lh      $8, 341($8)
20
21 # CHECK: SYMBOL TABLE:
22 # CHECK: {{[0-9a-f]+}} g F .text  00000024 glob1
23 # CHECK: {{[0-9a-f]+}} g F .text  00000004 glob2
24
25     .global glob1
26     .ent    glob1
27 glob1:
28     lui     $t0,%hi(glob2+0x1)
29     lui     $t0,%hi(glob2+(-0x1))
30     lui     $t0,%hi(glob2+0x1ff)
31     lui     $t0,%hi(glob2+(-0x1ff))
32     lui     $t0,%hi(glob2+0x1ffff)
33     lui     $t0,%hi(glob2+(-0x1ffff))
34     lui     $t0,%hi(glob2+0x1ffffff)
35     lui     $t0,%hi(glob2+(-0x1ffffff))
36
37     lh      $t0,%lo(glob2+(-0x1ffffff))($t0)
38     .end    glob1
39
40     .global glob2
41     .ent    glob2
42 glob2:
43     nop
44     .end    glob2