38 lines · plain
1; RUN: llc -O0 -mtriple=hexagon -relocation-model=pic < %s | FileCheck %s2 3@dst_ie = thread_local(initialexec) global i32 0, align 44@src_ie = thread_local(initialexec) global i32 0, align 45 6; CHECK-LABEL: test_initial_exec7; CHECK-DAG: = add(pc,##_GLOBAL_OFFSET_TABLE_@PCREL)8; CHECK-DAG: ##src_ie@IEGOT9; CHECK-DAG: ##dst_ie@IEGOT10; CHECK-NOT: call11define i32 @test_initial_exec() nounwind {12entry:13 %0 = load i32, ptr @src_ie, align 414 store i32 %0, ptr @dst_ie, align 415 ret i32 016}17 18@dst_gd = external thread_local global i3219@src_gd = external thread_local global i3220 21; At the moment, the local-dynamic model uses the same code as the22; general-dynamic model.23 24; CHECK-LABEL: test_dynamic25; CHECK-DAG: = add(pc,##_GLOBAL_OFFSET_TABLE_@PCREL)26; CHECK-DAG: ##src_gd@GDGOT27; CHECK-DAG: ##dst_gd@GDGOT28; CHECK-DAG: call src_gd@GDPLT29; CHECK-DAG: call dst_gd@GDPLT30 31define i32 @test_dynamic() nounwind {32entry:33 %0 = load i32, ptr @src_gd, align 434 store i32 %0, ptr @dst_gd, align 435 ret i32 036}37 38