| # REQUIRES: mips |
| |
| # Check handling multiple HI16 relocation followed by a single LO16 relocation. |
| |
| # RUN: llvm-mc -arch=mipsel -filetype=obj -o=%t.o %s |
| # RUN: lld -flavor old-gnu -target mipsel -e T0 -o %t.exe %t.o |
| # RUN: llvm-objdump -d -t %t.exe | FileCheck %s |
| |
| # CHECK: Disassembly of section .text: |
| # CHECK-NEXT: T0: |
| # CHECK-NEXT: 400180: 40 00 08 3c lui $8, 64 |
| # CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64 |
| # CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64 |
| # CHECK-NEXT: {{[0-9a-f]+}}: 40 00 08 3c lui $8, 64 |
| # CHECK-NEXT: {{[0-9a-f]+}}: 42 00 08 3c lui $8, 66 |
| # CHECK-NEXT: {{[0-9a-f]+}}: 3e 00 08 3c lui $8, 62 |
| # CHECK-NEXT: {{[0-9a-f]+}}: 40 02 08 3c lui $8, 576 |
| # CHECK-NEXT: {{[0-9a-f]+}}: 40 fe 08 3c lui $8, 65088 |
| # CHECK-NEXT: {{[0-9a-f]+}}: a5 01 08 25 addiu $8, $8, 421 |
| |
| # CHECK: SYMBOL TABLE: |
| # CHECK: 00400180 g F .text 00000024 T0 |
| # CHECK: 004001a4 g F .text 00000004 T1 |
| |
| .text |
| .globl T0 |
| T0: |
| lui $8, %hi(T1+1) |
| lui $8, %hi(T1-1) |
| lui $8, %hi(T1+0x1ff) |
| lui $8, %hi(T1+(-0x1ff)) |
| lui $8, %hi(T1+0x1ffff) |
| lui $8, %hi(T1+(-0x1ffff)) |
| lui $8, %hi(T1+0x1ffffff) |
| lui $8, %hi(T1+(-0x1ffffff)) |
| addiu $8, $8, %lo(T1+(-0x1ffffff)) |
| |
| .globl T1 |
| T1: |
| nop |