xref: /llvm-project/llvm/test/CodeGen/Hexagon/tls_static.ll (revision a96f691985c8546e826012fdc3481c88f034a194)
1; RUN: llc -O0 -mtriple=hexagon-- -relocation-model=static < %s | FileCheck %s
2
3@dst_le = dso_local thread_local global i32 0, align 4
4@src_le = dso_local thread_local global i32 0, align 4
5
6; CHECK-LABEL: test_local_exec
7; CHECK-DAG:   ##src_le@TPREL
8; CHECK-DAG:   ##dst_le@TPREL
9define dso_local i32 @test_local_exec() nounwind {
10entry:
11  %0 = load i32, ptr @src_le, align 4
12  store i32 %0, ptr @dst_le, align 4
13  ret i32 0
14}
15
16@dst_ie = external thread_local global i32
17@src_ie = external thread_local global i32
18
19; CHECK-LABEL: test_initial_exec:
20; CHECK-DAG:   = memw(##src_ie@IE)
21; CHECK-DAG:   = memw(##dst_ie@IE)
22define dso_local i32 @test_initial_exec() nounwind {
23entry:
24  %0 = load i32, ptr @src_ie, align 4
25  store i32 %0, ptr @dst_ie, align 4
26  ret i32 0
27}
28
29