1 ; RUN: llc < %s -emulated-tls -march=arm -mtriple=arm-linux-androideabi \ 2 ; RUN: | FileCheck %s 3 ; RUN: llc < %s -emulated-tls -march=arm -mtriple=arm-linux-androideabi \ 4 ; RUN: -relocation-model=pic | FileCheck %s --check-prefix=PIC 5 6 ; Compared with tls1.ll, emulated mode should not use __aeabi_read_tp or __tls_get_addr. 7 8 ; CHECK-NOT: _aeabi_read_tp 9 ; CHECK-NOT: _tls_get_addr 10 ; CHECK: __emutls_get_addr 11 ; CHECK-NOT: __aeabi_read_tp 12 ; CHECK-NOT: _tls_get_addr 13 14 ; PIC-NOT: _aeabi_read_tp 15 ; PIC-NOT: _tls_get_addr 16 ; PIC: __emutls_get_addr 17 ; PIC-NOT: _aeabi_read_tp 18 ; PIC-NOT: _tls_get_addr 19 20 @i = thread_local global i32 15 ; <i32*> [#uses=2] 21 22 define i32 @f() { 23 entry: 24 %tmp1 = load i32, i32* @i ; <i32> [#uses=1] 25 ret i32 %tmp1 26 } 27 28 define i32* @g() { 29 entry: 30 ret i32* @i 31 } 32