blob: ef8ac782341cbc1f720dc22c0c3d2f4dd159b9f3 [file] [log] [blame]
# REQUIRES: mips
# Check calculation of AHL addendums for R_MICROMIPS_HI16 / R_MICROMIPS_LO16
# relocations for a regular symbol.
# RUN: llvm-mc -arch=mipsel -filetype=obj -mattr=micromips -o=%t.o %s
# RUN: lld -flavor old-gnu -target mipsel -e T0 -o %t.exe %t.o
# RUN: llvm-objdump -d -mattr=micromips %t.exe | FileCheck %s
# CHECK: Disassembly of section .text:
# CHECK-NEXT: T0:
# CHECK-NEXT: 400180: a8 41 40 00 lui $8, 64
# CHECK-NEXT: 400184: 08 31 c1 01 addiu $8, $8, 449
# CHECK-NEXT: 400188: a8 41 41 00 lui $8, 65
# CHECK-NEXT: 40018c: 08 31 bf 81 addiu $8, $8, -32321
# CHECK-NEXT: 400190: a8 41 41 00 lui $8, 65
# CHECK-NEXT: 400194: 08 31 40 82 addiu $8, $8, -32192
# CHECK-NEXT: 400198: a8 41 42 00 lui $8, 66
# CHECK-NEXT: 40019c: 08 31 c0 81 addiu $8, $8, -32320
#
# CHECK: T1:
# CHECK-NEXT: 4001a0: a8 41 40 40 lui $8, 16448
# CHECK-NEXT: 4001a4: 08 31 c0 01 addiu $8, $8, 448
# CHECK-NEXT: 4001a8: a8 41 40 80 lui $8, 32832
# CHECK-NEXT: 4001ac: 08 31 c0 01 addiu $8, $8, 448
# CHECK-NEXT: 4001b0: a8 41 c1 80 lui $8, 32961
# CHECK-NEXT: 4001b4: 08 31 40 82 addiu $8, $8, -32192
# CHECK-NEXT: 4001b8: 00 00 00 00 nop
# CHECK-NEXT: 4001bc: 00 00 00 00 nop
#
# CHECK: T2:
# CHECK-NEXT: 4001c0: 00 00 00 00 nop
# CHECK-NEXT: 4001c4: a8 41 40 00 lui $8, 64
# CHECK-NEXT: 4001c8: a8 41 40 00 lui $8, 64
# CHECK-NEXT: 4001cc: a8 41 41 00 lui $8, 65
# CHECK-NEXT: 4001d0: a8 41 42 00 lui $8, 66
# CHECK-NEXT: 4001d4: a8 41 40 40 lui $8, 16448
# CHECK-NEXT: 4001d8: a8 41 40 80 lui $8, 32832
# CHECK-NEXT: 4001dc: a8 41 c1 80 lui $8, 32961
# CHECK-NEXT: 4001e0: 08 31 00 82 addiu $8, $8, -32256
.section .text.1,"ax",@progbits
.align 4
.globl T0
T0:
lui $8, %hi(T2+1)
addiu $8, $8, %lo(T2+1)
lui $8, %hi(T2+0x7fff)
addiu $8, $8, %lo(T2+0x7fff)
lui $8, %hi(T2+0x8080)
addiu $8, $8, %lo(T2+0x8080)
lui $8, %hi(T2+0x18000)
addiu $8, $8, %lo(T2+0x18000)
.size T0, .-T0
.section .text.2,"ax",@progbits
.align 4
.globl T1
T1:
lui $8, %hi(T2+0x40000000)
addiu $8, $8, %lo(T2+0x40000000)
lui $8, %hi(T2+0x80000000)
addiu $8, $8, %lo(T2+0x80000000)
lui $8, %hi(T2+0x80808080)
addiu $8, $8, %lo(T2+0x80808080)
.size T1, .-T1
.section .text.3,"ax",@progbits
.align 4
.globl T2
T2:
nop
lui $8, %hi(T0+0x1)
lui $8, %hi(T0+0x7fff)
lui $8, %hi(T0+0x8080)
lui $8, %hi(T0+0x18000)
lui $8, %hi(T0+0x40000000)
lui $8, %hi(T0+0x80000000)
lui $8, %hi(T0+0x80808080)
addiu $8, $8, %lo(T0+0x80808080)
.size T2, .-T2