@@ -16,13 +16,12 @@ define i32 @test_generaldynamic() {
16
16
; CHECK: adrp x[[TLSDESC_HI:[0-9]+]], :tlsdesc_auth:general_dynamic_var
17
17
; CHECK-NEXT: ldr x16, [x[[TLSDESC_HI]], :tlsdesc_auth_lo12:general_dynamic_var]
18
18
; CHECK-NEXT: add x0, x[[TLSDESC_HI]], :tlsdesc_auth_lo12:general_dynamic_var
19
- ; CHECK-NEXT: .tlsdesccall general_dynamic_var
20
19
; CHECK-NEXT: blraa x16, x0
21
20
22
21
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21
23
22
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_LD64_LO12
24
23
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADD_LO12
25
- ; CHECK-OBJ: R_AARCH64_TLSDESC_CALL
24
+ ; CHECK-OBJ-NOT : R_AARCH64_TLSDESC_CALL
26
25
27
26
; CHECK-ERR: LLVM ERROR: cannot select: %1:gpr64sp(p0) = G_GLOBAL_VALUE @general_dynamic_var (in function: test_generaldynamic)
28
27
}
@@ -35,7 +34,7 @@ define ptr @test_generaldynamic_addr() {
35
34
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21
36
35
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_LD64_LO12
37
36
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADD_LO12
38
- ; CHECK-OBJ: R_AARCH64_TLSDESC_CALL
37
+ ; CHECK-OBJ-NOT : R_AARCH64_TLSDESC_CALL
39
38
}
40
39
41
40
@local_dynamic_var = external thread_local (localdynamic) global i32
@@ -49,15 +48,14 @@ define i32 @test_localdynamic() {
49
48
; CHECK: adrp x[[TLSDESC_HI:[0-9]+]], :tlsdesc_auth:local_dynamic_var
50
49
; CHECK-NEXT: ldr x16, [x[[TLSDESC_HI]], :tlsdesc_auth_lo12:local_dynamic_var]
51
50
; CHECK-NEXT: add x0, x[[TLSDESC_HI]], :tlsdesc_auth_lo12:local_dynamic_var
52
- ; CHECK-NEXT: .tlsdesccall local_dynamic_var
53
51
; CHECK-NEXT: blraa x16, x0
54
52
; CHECK: mrs x[[TPIDR:[0-9]+]], TPIDR_EL0
55
53
; CHECK: ldr w0, [x[[TPIDR]], x0]
56
54
57
55
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21
58
56
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_LD64_LO12
59
57
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADD_LO12
60
- ; CHECK-OBJ: R_AARCH64_TLSDESC_CALL
58
+ ; CHECK-OBJ-NOT : R_AARCH64_TLSDESC_CALL
61
59
}
62
60
63
61
define ptr @test_localdynamic_addr () {
@@ -68,15 +66,14 @@ define ptr @test_localdynamic_addr() {
68
66
; CHECK: adrp x[[TLSDESC_HI:[0-9]+]], :tlsdesc_auth:local_dynamic_var
69
67
; CHECK-NEXT: ldr x16, [x[[TLSDESC_HI]], :tlsdesc_auth_lo12:local_dynamic_var]
70
68
; CHECK-NEXT: add x0, x[[TLSDESC_HI]], :tlsdesc_auth_lo12:local_dynamic_var
71
- ; CHECK-NEXT: .tlsdesccall local_dynamic_var
72
69
; CHECK-NEXT: blraa x16, x0
73
70
; CHECK: mrs x[[TPIDR:[0-9]+]], TPIDR_EL0
74
71
; CHECK: add x0, x[[TPIDR]], x0
75
72
76
73
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21
77
74
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_LD64_LO12
78
75
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADD_LO12
79
- ; CHECK-OBJ: R_AARCH64_TLSDESC_CALL
76
+ ; CHECK-OBJ-NOT : R_AARCH64_TLSDESC_CALL
80
77
}
81
78
82
79
@extern_weak_var = extern_weak thread_local global i32
@@ -90,13 +87,12 @@ define i32 @test_extern_weak() {
90
87
; CHECK: adrp x[[TLSDESC_HI:[0-9]+]], :tlsdesc_auth:extern_weak_var
91
88
; CHECK-NEXT: ldr x16, [x[[TLSDESC_HI]], :tlsdesc_auth_lo12:extern_weak_var]
92
89
; CHECK-NEXT: add x0, x[[TLSDESC_HI]], :tlsdesc_auth_lo12:extern_weak_var
93
- ; CHECK-NEXT: .tlsdesccall extern_weak_var
94
90
; CHECK-NEXT: blraa x16, x0
95
91
96
92
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21
97
93
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_LD64_LO12
98
94
; CHECK-OBJ: R_AARCH64_AUTH_TLSDESC_ADD_LO12
99
- ; CHECK-OBJ: R_AARCH64_TLSDESC_CALL
95
+ ; CHECK-OBJ-NOT : R_AARCH64_TLSDESC_CALL
100
96
; CHECK-OBJ: 0000000000000000 0 TLS WEAK DEFAULT UND extern_weak_var
101
97
}
102
98
0 commit comments