1 // RUN: llvm-mc -triple=aarch64-none-linux-gnu -filetype=obj -mattr=+fp-armv8 < %s | llvm-objdump -r - | FileCheck %s
5 .globl test_inline_modifier_L
6 .type test_inline_modifier_L,@function
7 test_inline_modifier_L: // @test_inline_modifier_L
10 add x0, x0, #:lo12:var_simple
13 ldr x0, [x0, #:got_lo12:var_got]
16 add x0, x0, #:tlsdesc_lo12:var_tlsgd
19 add x0, x0, #:dtprel_lo12:var_tlsld
22 ldr x0, [x0, #:gottprel_lo12:var_tlsie]
25 add x0, x0, #:tprel_lo12:var_tlsle
29 .size test_inline_modifier_L, .Ltmp0-test_inline_modifier_L
31 // CHECK: R_AARCH64_ADD_ABS_LO12_NC var_simple
32 // CHECK: R_AARCH64_LD64_GOT_LO12_NC var_got
33 // CHECK: R_AARCH64_TLSDESC_ADD_LO12_NC var_tlsgd
34 // CHECK: R_AARCH64_TLSLD_ADD_DTPREL_LO12 var_tlsld
35 // CHECK: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC var_tlsie
36 // CHECK: R_AARCH64_TLSLE_ADD_TPREL_LO12 var_tlsle
38 .globl test_inline_modifier_G
39 .type test_inline_modifier_G,@function
40 test_inline_modifier_G: // @test_inline_modifier_G
43 add x0, x0, #:dtprel_hi12:var_tlsld, lsl #12
46 add x0, x0, #:tprel_hi12:var_tlsle, lsl #12
50 .size test_inline_modifier_G, .Ltmp1-test_inline_modifier_G
52 // CHECK: R_AARCH64_TLSLD_ADD_DTPREL_HI12 var_tlsld
53 // CHECK: R_AARCH64_TLSLE_ADD_TPREL_HI12 var_tlsle
55 .globl test_inline_modifier_A
56 .type test_inline_modifier_A,@function
57 test_inline_modifier_A: // @test_inline_modifier_A
66 adrp x0, :tlsdesc:var_tlsgd
69 adrp x0, :gottprel:var_tlsie
73 .size test_inline_modifier_A, .Ltmp2-test_inline_modifier_A
74 // CHECK: R_AARCH64_ADR_PREL_PG_HI21 var_simple
75 // CHECK: R_AARCH64_ADR_GOT_PAGE var_got
76 // CHECK: R_AARCH64_TLSDESC_ADR_PAGE var_tlsgd
77 // CHECK: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 var_tlsie
79 .globl test_inline_modifier_wx
80 .type test_inline_modifier_wx,@function
81 test_inline_modifier_wx: // @test_inline_modifier_wx
113 .size test_inline_modifier_wx, .Ltmp3-test_inline_modifier_wx
115 .globl test_inline_modifier_bhsdq
116 .type test_inline_modifier_bhsdq,@function
117 test_inline_modifier_bhsdq: // @test_inline_modifier_bhsdq
151 .size test_inline_modifier_bhsdq, .Ltmp4-test_inline_modifier_bhsdq
153 .globl test_inline_modifier_c
154 .type test_inline_modifier_c,@function
155 test_inline_modifier_c: // @test_inline_modifier_c
162 .size test_inline_modifier_c, .Ltmp5-test_inline_modifier_c
164 .hidden var_simple // @var_simple
165 .type var_simple,@object
173 .type var_got,@object // @var_got
180 .type var_tlsgd,@object // @var_tlsgd
181 .section .tbss,"awT",@nobits
188 .type var_tlsld,@object // @var_tlsld
195 .type var_tlsie,@object // @var_tlsie
202 .type var_tlsle,@object // @var_tlsle