1 // RUN: llvm-mc -triple=aarch64-none-linux-gnu -filetype=obj -mattr=+fp-armv8 < %s | llvm-objdump -r - | FileCheck %s
2 // RUN: llvm-mc -triple=arm64-none-linux-gnu -filetype=obj -mattr=+fp-armv8 < %s | llvm-objdump -r - | FileCheck %s
6 .globl test_inline_modifier_L
7 .type test_inline_modifier_L,@function
8 test_inline_modifier_L: // @test_inline_modifier_L
11 add x0, x0, #:lo12:var_simple
14 ldr x0, [x0, #:got_lo12:var_got]
17 add x0, x0, #:tlsdesc_lo12:var_tlsgd
20 add x0, x0, #:dtprel_lo12:var_tlsld
23 ldr x0, [x0, #:gottprel_lo12:var_tlsie]
26 add x0, x0, #:tprel_lo12:var_tlsle
30 .size test_inline_modifier_L, .Ltmp0-test_inline_modifier_L
32 // CHECK: R_AARCH64_ADD_ABS_LO12_NC var_simple
33 // CHECK: R_AARCH64_LD64_GOT_LO12_NC var_got
34 // CHECK: R_AARCH64_TLSDESC_ADD_LO12_NC var_tlsgd
35 // CHECK: R_AARCH64_TLSLD_ADD_DTPREL_LO12 var_tlsld
36 // CHECK: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC var_tlsie
37 // CHECK: R_AARCH64_TLSLE_ADD_TPREL_LO12 var_tlsle
39 .globl test_inline_modifier_G
40 .type test_inline_modifier_G,@function
41 test_inline_modifier_G: // @test_inline_modifier_G
44 add x0, x0, #:dtprel_hi12:var_tlsld, lsl #12
47 add x0, x0, #:tprel_hi12:var_tlsle, lsl #12
51 .size test_inline_modifier_G, .Ltmp1-test_inline_modifier_G
53 // CHECK: R_AARCH64_TLSLD_ADD_DTPREL_HI12 var_tlsld
54 // CHECK: R_AARCH64_TLSLE_ADD_TPREL_HI12 var_tlsle
56 .globl test_inline_modifier_A
57 .type test_inline_modifier_A,@function
58 test_inline_modifier_A: // @test_inline_modifier_A
67 adrp x0, :tlsdesc:var_tlsgd
70 adrp x0, :gottprel:var_tlsie
74 .size test_inline_modifier_A, .Ltmp2-test_inline_modifier_A
75 // CHECK: R_AARCH64_ADR_PREL_PG_HI21 var_simple
76 // CHECK: R_AARCH64_ADR_GOT_PAGE var_got
77 // CHECK: R_AARCH64_TLSDESC_ADR_PAGE var_tlsgd
78 // CHECK: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 var_tlsie
80 .globl test_inline_modifier_wx
81 .type test_inline_modifier_wx,@function
82 test_inline_modifier_wx: // @test_inline_modifier_wx
114 .size test_inline_modifier_wx, .Ltmp3-test_inline_modifier_wx
116 .globl test_inline_modifier_bhsdq
117 .type test_inline_modifier_bhsdq,@function
118 test_inline_modifier_bhsdq: // @test_inline_modifier_bhsdq
152 .size test_inline_modifier_bhsdq, .Ltmp4-test_inline_modifier_bhsdq
154 .globl test_inline_modifier_c
155 .type test_inline_modifier_c,@function
156 test_inline_modifier_c: // @test_inline_modifier_c
163 .size test_inline_modifier_c, .Ltmp5-test_inline_modifier_c
165 .hidden var_simple // @var_simple
166 .type var_simple,@object
174 .type var_got,@object // @var_got
181 .type var_tlsgd,@object // @var_tlsgd
182 .section .tbss,"awT",@nobits
189 .type var_tlsld,@object // @var_tlsld
196 .type var_tlsie,@object // @var_tlsie
203 .type var_tlsle,@object // @var_tlsle