# 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