@@ -16,13 +16,12 @@ define i32 @test_generaldynamic() {
1616; CHECK: adrp x[[TLSDESC_HI:[0-9]+]], :tlsdesc_auth:general_dynamic_var
1717; CHECK-NEXT: ldr x16, [x[[TLSDESC_HI]], :tlsdesc_auth_lo12:general_dynamic_var]
1818; CHECK-NEXT: add x0, x[[TLSDESC_HI]], :tlsdesc_auth_lo12:general_dynamic_var
19- ; CHECK-NEXT: .tlsdesccall general_dynamic_var
2019; CHECK-NEXT: blraa x16, x0
2120
2221; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21
2322; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_LD64_LO12
2423; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADD_LO12
25- ; CHECK-OBJ: R_AARCH64_TLSDESC_CALL
24+ ; CHECK-OBJ-NOT : R_AARCH64_TLSDESC_CALL
2625
2726; CHECK-ERR: LLVM ERROR: cannot select: %1:gpr64sp(p0) = G_GLOBAL_VALUE @general_dynamic_var (in function: test_generaldynamic)
2827}
@@ -35,7 +34,7 @@ define ptr @test_generaldynamic_addr() {
3534; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21
3635; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_LD64_LO12
3736; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADD_LO12
38- ; CHECK-OBJ: R_AARCH64_TLSDESC_CALL
37+ ; CHECK-OBJ-NOT : R_AARCH64_TLSDESC_CALL
3938}
4039
4140@local_dynamic_var = external thread_local (localdynamic) global i32
@@ -49,15 +48,14 @@ define i32 @test_localdynamic() {
4948; CHECK: adrp x[[TLSDESC_HI:[0-9]+]], :tlsdesc_auth:local_dynamic_var
5049; CHECK-NEXT: ldr x16, [x[[TLSDESC_HI]], :tlsdesc_auth_lo12:local_dynamic_var]
5150; CHECK-NEXT: add x0, x[[TLSDESC_HI]], :tlsdesc_auth_lo12:local_dynamic_var
52- ; CHECK-NEXT: .tlsdesccall local_dynamic_var
5351; CHECK-NEXT: blraa x16, x0
5452; CHECK: mrs x[[TPIDR:[0-9]+]], TPIDR_EL0
5553; CHECK: ldr w0, [x[[TPIDR]], x0]
5654
5755; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21
5856; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_LD64_LO12
5957; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADD_LO12
60- ; CHECK-OBJ: R_AARCH64_TLSDESC_CALL
58+ ; CHECK-OBJ-NOT : R_AARCH64_TLSDESC_CALL
6159}
6260
6361define ptr @test_localdynamic_addr () {
@@ -68,15 +66,14 @@ define ptr @test_localdynamic_addr() {
6866; CHECK: adrp x[[TLSDESC_HI:[0-9]+]], :tlsdesc_auth:local_dynamic_var
6967; CHECK-NEXT: ldr x16, [x[[TLSDESC_HI]], :tlsdesc_auth_lo12:local_dynamic_var]
7068; CHECK-NEXT: add x0, x[[TLSDESC_HI]], :tlsdesc_auth_lo12:local_dynamic_var
71- ; CHECK-NEXT: .tlsdesccall local_dynamic_var
7269; CHECK-NEXT: blraa x16, x0
7370; CHECK: mrs x[[TPIDR:[0-9]+]], TPIDR_EL0
7471; CHECK: add x0, x[[TPIDR]], x0
7572
7673; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21
7774; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_LD64_LO12
7875; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADD_LO12
79- ; CHECK-OBJ: R_AARCH64_TLSDESC_CALL
76+ ; CHECK-OBJ-NOT : R_AARCH64_TLSDESC_CALL
8077}
8178
8279@extern_weak_var = extern_weak thread_local global i32
@@ -90,13 +87,12 @@ define i32 @test_extern_weak() {
9087; CHECK: adrp x[[TLSDESC_HI:[0-9]+]], :tlsdesc_auth:extern_weak_var
9188; CHECK-NEXT: ldr x16, [x[[TLSDESC_HI]], :tlsdesc_auth_lo12:extern_weak_var]
9289; CHECK-NEXT: add x0, x[[TLSDESC_HI]], :tlsdesc_auth_lo12:extern_weak_var
93- ; CHECK-NEXT: .tlsdesccall extern_weak_var
9490; CHECK-NEXT: blraa x16, x0
9591
9692; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21
9793; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_LD64_LO12
9894; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADD_LO12
99- ; CHECK-OBJ: R_AARCH64_TLSDESC_CALL
95+ ; CHECK-OBJ-NOT : R_AARCH64_TLSDESC_CALL
10096; CHECK-OBJ: 0000000000000000 0 TLS WEAK DEFAULT UND extern_weak_var
10197}
10298
0 commit comments