Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc < %s -march=arm -mtriple=arm-linux-gnueabi | \
      2 ; RUN:     grep "tbss"
      3 ; RUN: llc < %s -march=arm -mtriple=arm-linux-gnueabi | \
      4 ; RUN:     FileCheck %s -check-prefix=CHECK -check-prefix=NOEMU
      5 ; RUN: llc < %s -emulated-tls -march=arm -mtriple=arm-linux-gnueabi | \
      6 ; RUN:     FileCheck %s -check-prefix=CHECK -check-prefix=EMU
      7 
      8 %struct.anon = type { i32, i32 }
      9 @teste = internal thread_local global %struct.anon zeroinitializer ; <%struct.anon*> [#uses=1]
     10 
     11 define i32 @main() {
     12 entry:
     13   %tmp2 = load i32, i32* getelementptr (%struct.anon, %struct.anon* @teste, i32 0, i32 0), align 8 ; <i32> [#uses=1]
     14   ret i32 %tmp2
     15 }
     16 
     17 ; CHECK-LABEL: main:
     18 ; NOEMU-NOT:   __emutls_get_address
     19 
     20 ; NOEMU:       .section .tbss
     21 ; NOEMU-LABEL: teste:
     22 ; NOEMU-NEXT:  .zero 8
     23 
     24 ; CHECK-NOT: __emutls_t.teste
     25 
     26 ; EMU:       .align 2
     27 ; EMU-LABEL: __emutls_v.teste:
     28 ; EMU-NEXT:  .long 8
     29 ; EMU-NEXT:  .long 4
     30 ; EMU-NEXT:  .long 0
     31 ; EMU-NEXT:  .long 0
     32 
     33 ; CHECK-NOT: teste:
     34 ; CHECK-NOT: __emutls_t.teste
     35