86 lines · plain
1// REQUIRES: aarch642// RUN: llvm-mc -triple=aarch64-linux-gnu -filetype=obj %s -o %t.o3// RUN: ld.lld %t.o -o %t4// RUN: llvm-objdump --no-print-imm-hex -d --no-show-raw-insn %t | FileCheck %s5// RUN: llvm-readelf --symbols %t | FileCheck -check-prefix CHECK-SYMS %s6 7 .text8 .globl _start9 .type _start, %function10_start: mrs x8, TPIDR_EL011 12 add x8, x8, :tprel_hi12:var013 ldr q20, [x8, :tprel_lo12_nc:var0]14 15 add x8, x8, :tprel_hi12:var116 ldr x0, [x8, :tprel_lo12_nc:var1]17 18 add x8, x8, :tprel_hi12:var219 ldr w0, [x8, :tprel_lo12_nc:var2]20 21 add x8, x8, :tprel_hi12:var322 ldrh w0, [x8, :tprel_lo12_nc:var3]23 24 add x8, x8, :tprel_hi12:var425 ldrb w0, [x8, :tprel_lo12_nc:var4]26 27// CHECK: <_start>:28// CHECK-NEXT: 210158: mrs x8, TPIDR_EL029// 0x0 + c10 = 0xc10 = tcb (16-bytes) + var030// CHECK-NEXT: 21015c: add x8, x8, #0, lsl #1231// CHECK-NEXT: 210160: ldr q20, [x8, #3088]32// 0x1000 + 0x820 = 0x1820 = tcb + var133// CHECK-NEXT: 210164: add x8, x8, #1, lsl #1234// CHECK-NEXT: 210168: ldr x0, [x8, #2080]35// 0x2000 + 0x428 = 0x2428 = tcb + var236// CHECK-NEXT: 21016c: add x8, x8, #2, lsl #1237// CHECK-NEXT: 210170: ldr w0, [x8, #1064]38// 0x3000 + 0x2c = 0x302c = tcb + var339// CHECK-NEXT: 210174: add x8, x8, #3, lsl #1240// CHECK-NEXT: 210178: ldrh w0, [x8, #44]41// 0x3000 + 0xc2e = 0x32ce = tcb + var442// CHECK-NEXT: 21017c: add x8, x8, #3, lsl #1243// CHECK-NEXT: 210180: ldrb w0, [x8, #3118]44 45// CHECK-SYMS: 0000000000000c00 0 TLS GLOBAL DEFAULT 2 var046// CHECK-SYMS-NEXT: 0000000000001810 4 TLS GLOBAL DEFAULT 2 var147// CHECK-SYMS-NEXT: 0000000000002418 2 TLS GLOBAL DEFAULT 2 var248// CHECK-SYMS-NEXT: 000000000000301c 1 TLS GLOBAL DEFAULT 2 var349// CHECK-SYMS-NEXT: 0000000000003c1e 0 TLS GLOBAL DEFAULT 2 var450 51 .globl var052 .globl var153 .globl var254 .globl var355 .globl var456 .type var0,@object57 .type var1,@object58 .type var2,@object59 .type var3,@object60 61.section .tbss,"awT",@nobits62 .balign 1663 .space 1024 * 364var0:65 .quad 066 .quad 067 .size var1, 1668 .space 1024 * 369var1:70 .quad 071 .size var1, 872 .space 1024 * 373var2:74 .word 075 .size var1, 476 77 .space 1024 * 378var3:79 .hword 080 .size var2, 281 .space 1024 * 382var4:83 .byte 084 .size var3, 185 .space 1024 * 386