brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.9 KiB · d4c1c06 Raw
116 lines · plain
1; RUN: llc < %s -emulated-tls -mtriple=aarch64-linux-android -relocation-model=pic \2; RUN:     | FileCheck -check-prefix=ARM_64 %s3; RUN: llc < %s -emulated-tls -mtriple=aarch64-linux-android -relocation-model=pic -O3 \4; RUN:     | FileCheck -check-prefix=ARM_64 %s5; RUN: llc < %s -emulated-tls -mtriple=aarch64-linux-android -O3 \6; RUN:     | FileCheck -check-prefix=ARM_64 %s7; RUN: llc < %s -emulated-tls -mtriple=aarch64-windows-gnu -O3 \8; RUN:     | FileCheck -check-prefix=ARM_64 %s9; RUN: llc < %s -emulated-tls -mtriple=aarch64-apple-darwin -O3 \10; RUN:     | FileCheck -check-prefix=DARWIN %s11 12; RUN: llc < %s -mtriple=aarch64-linux-android -relocation-model=pic \13; RUN:     | FileCheck -check-prefix=ARM_64 %s14; RUN: llc < %s -mtriple=aarch64-linux-android -relocation-model=pic -O3 \15; RUN:     | FileCheck -check-prefix=ARM_64 %s16; RUN: llc < %s -mtriple=aarch64-linux-android -O3 \17; RUN:     | FileCheck -check-prefix=ARM_64 %s18; aarch64-windows-gnu needs explicit -emulated-tls19; RUN: llc < %s -mtriple=aarch64-apple-darwin -O3 \20; RUN:     | FileCheck -check-prefix=NoEMU %s21; RUN: llc < %s -mtriple=aarch64-linux-android29 -O3 \22; RUN:     | FileCheck -check-prefix=NoEMU %s23 24; NoEMU-NOT: __emutls25 26; Make sure that TLS symbols are emitted in expected order.27 28@external_x = external thread_local global i32, align 829@external_y = thread_local global i8 7, align 230@internal_y = internal thread_local global i64 9, align 1631 32define ptr @get_external_x() {33entry:34  ret ptr @external_x35}36 37define ptr @get_external_y() {38entry:39  ret ptr @external_y40}41 42define ptr @get_internal_y() {43entry:44  ret ptr @internal_y45}46 47; ARM_64-LABEL:  get_external_x:48; ARM_64:      __emutls_v.external_x49; ARM_64:      __emutls_get_address50; ARM_64-LABEL:  get_external_y:51; ARM_64:      __emutls_v.external_y52; ARM_64:      __emutls_get_address53; ARM_64-LABEL:  get_internal_y:54; ARM_64:      __emutls_v.internal_y55; ARM_64:      __emutls_get_address56; ARM_64-NOT:   __emutls_t.external_x57; ARM_64-NOT:   __emutls_v.external_x:58; ARM_64:        .data{{$}}59; ARM_64:        .globl __emutls_v.external_y60; ARM_64:        .p2align 361; ARM_64-LABEL:  __emutls_v.external_y:62; ARM_64-NEXT:   .xword 163; ARM_64-NEXT:   .xword 264; ARM_64-NEXT:   .xword 065; ARM_64-NEXT:   .xword __emutls_t.external_y66; ARM_64-NOT:    __emutls_v.external_x:67; ARM_64:        .section .r{{o?}}data,68; ARM_64-LABEL:  __emutls_t.external_y:69; ARM_64-NEXT:   .byte 770; ARM_64:        .data{{$}}71; ARM_64-NOT:    .globl __emutls_v72; ARM_64:        .p2align 373; ARM_64-LABEL:  __emutls_v.internal_y:74; ARM_64-NEXT:   .xword 875; ARM_64-NEXT:   .xword 1676; ARM_64-NEXT:   .xword 077; ARM_64-NEXT:   .xword __emutls_t.internal_y78; ARM_64:        .section .r{{o?}}data,79; ARM_64-LABEL:  __emutls_t.internal_y:80; ARM_64-NEXT:   .xword 981 82; DARWIN-LABEL:  _get_external_x:83; DARWIN:        ___emutls_v.external_x84; DARWIN:        ___emutls_get_address85; DARWIN-LABEL:  _get_external_y:86; DARWIN:        ___emutls_v.external_y87; DARWIN:        ___emutls_get_address88; DARWIN-LABEL:  _get_internal_y:89; DARWIN:        ___emutls_v.internal_y90; DARWIN:        ___emutls_get_address91; DARWIN-NOT:    ___emutls_t.external_x92; DARWIN-NOT:    ___emutls_v.external_x:93; DARWIN:        .section __DATA,__data94; DARWIN:        .globl ___emutls_v.external_y95; DARWIN:        .p2align 396; DARWIN-LABEL:  ___emutls_v.external_y:97; DARWIN-NEXT:   .quad 198; DARWIN-NEXT:   .quad 299; DARWIN-NEXT:   .quad 0100; DARWIN-NEXT:   .quad ___emutls_t.external_y101; DARWIN-NOT:    ___emutls_v.external_x:102; DARWIN:        .section __TEXT,__const103; DARWIN-LABEL:  ___emutls_t.external_y:104; DARWIN-NEXT:   .byte 7105; DARWIN:        .section __DATA,__data106; DARWIN-NOT:    .globl ___emutls_v107; DARWIN:        .p2align 3108; DARWIN-LABEL:  ___emutls_v.internal_y:109; DARWIN-NEXT:   .quad 8110; DARWIN-NEXT:   .quad 16111; DARWIN-NEXT:   .quad 0112; DARWIN-NEXT:   .quad ___emutls_t.internal_y113; DARWIN:        .section __TEXT,__const114; DARWIN-LABEL:  ___emutls_t.internal_y:115; DARWIN-NEXT:   .quad 9116