brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 52174ce Raw
93 lines · plain
1; RUN: llc < %s -emulated-tls -mtriple=i686-linux-android -relocation-model=pic | FileCheck  %s2; RUN: llc < %s -emulated-tls -mtriple=x86_64-linux-android -relocation-model=pic | FileCheck -check-prefix=X64 %s3 4; RUN: llc < %s -mtriple=i686-linux-android -relocation-model=pic | FileCheck  %s5; RUN: llc < %s -mtriple=x86_64-linux-android -relocation-model=pic | FileCheck -check-prefix=X64 %s6 7; Make sure that TLS symboles are emitted in expected order.8 9@external_x = external thread_local global i3210@external_y = thread_local global i32 711@internal_y = internal thread_local global i32 912 13define ptr @get_external_x() {14entry:15  ret ptr @external_x16}17 18define ptr @get_external_y() {19entry:20  ret ptr @external_y21}22 23define ptr @get_internal_y() {24entry:25  ret ptr @internal_y26}27 28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 32-bit mode29; CHECK-LABEL: get_external_x:30; CHECK:  __emutls_v.external_x31; CHECK:  __emutls_get_address32 33; CHECK-LABEL: get_external_y:34; CHECK:  __emutls_v.external_y35; CHECK:  __emutls_get_address36 37; CHECK-LABEL: get_internal_y:38; CHECK:  __emutls_v.internal_y39; CHECK:  __emutls_get_address40 41; CHECK-NOT: __emutls_v.external_x:42 43; CHECK:       .p2align 244; CHECK-LABEL: __emutls_v.external_y:45; CHECK-NEXT:  .long 446; CHECK-NEXT:  .long 447; CHECK-NEXT:  .long 048; CHECK-NEXT:  .long __emutls_t.external_y49; CHECK-LABEL: __emutls_t.external_y:50; CHECK-NEXT:  .long 751 52; CHECK:       .p2align 253; CHECK-LABEL: __emutls_v.internal_y:54; CHECK-NEXT:  .long 455; CHECK-NEXT:  .long 456; CHECK-NEXT:  .long 057; CHECK-NEXT:  .long __emutls_t.internal_y58; CHECK-LABEL: __emutls_t.internal_y:59; CHECK-NEXT:  .long 960 61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 64-bit mode62; X64-LABEL: get_external_x:63; X64:  __emutls_v.external_x64; X64:  __emutls_get_address65 66; X64-LABEL: get_external_y:67; X64:  __emutls_v.external_y68; X64:  __emutls_get_address69 70; X64-LABEL: get_internal_y:71; X64:  __emutls_v.internal_y72; X64:  __emutls_get_address73 74; X64-NOT: __emutls_v.external_x:75 76; X64:       .p2align 377; X64-LABEL: __emutls_v.external_y:78; X64-NEXT:  .quad 479; X64-NEXT:  .quad 480; X64-NEXT:  .quad 081; X64-NEXT:  .quad __emutls_t.external_y82; X64-LABEL: __emutls_t.external_y:83; X64-NEXT:  .long 784 85; X64:       .p2align 386; X64-LABEL: __emutls_v.internal_y:87; X64-NEXT:  .quad 488; X64-NEXT:  .quad 489; X64-NEXT:  .quad 090; X64-NEXT:  .quad __emutls_t.internal_y91; X64-LABEL: __emutls_t.internal_y:92; X64-NEXT:  .long 993