brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 7682140 Raw
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