// RUN: llvm-mc -filetype=obj -triple mipsel-unknown-linux %s -o - | llvm-readobj -r - | FileCheck %s // Check that the appropriate relocations were created. // CHECK: Relocations [ // CHECK: Section {{.*}} .rel.text { // CHECK: R_MIPS_TLS_LDM // CHECK: R_MIPS_TLS_DTPREL_HI16 // CHECK: R_MIPS_TLS_DTPREL_LO16 // CHECK: } // CHECK: ] .text .abicalls .section .mdebug.abi32,"",@progbits .file "/home/espindola/llvm/llvm/test/MC/Mips/elf-tls.ll" .text .globl f1 .align 2 .type f1,@function .set nomips16 .ent f1 f1: # @f1 .frame $sp,24,$ra .mask 0x80000000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro .set noat # %bb.0: # %entry lui $2, %hi(_gp_disp) addiu $2, $2, %lo(_gp_disp) addiu $sp, $sp, -24 sw $ra, 20($sp) # 4-byte Folded Spill addu $gp, $2, $25 lw $25, %call16(__tls_get_addr)($gp) jalr $25 addiu $4, $gp, %tlsgd(t1) lw $2, 0($2) lw $ra, 20($sp) # 4-byte Folded Reload jr $ra addiu $sp, $sp, 24 .set at .set macro .set reorder .end f1 $tmp0: .size f1, ($tmp0)-f1 .globl f2 .align 2 .type f2,@function .set nomips16 .ent f2 f2: # @f2 .frame $sp,24,$ra .mask 0x80000000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro .set noat # %bb.0: # %entry lui $2, %hi(_gp_disp) addiu $2, $2, %lo(_gp_disp) addiu $sp, $sp, -24 sw $ra, 20($sp) # 4-byte Folded Spill addu $gp, $2, $25 lw $25, %call16(__tls_get_addr)($gp) jalr $25 addiu $4, $gp, %tlsgd(t2) lw $2, 0($2) lw $ra, 20($sp) # 4-byte Folded Reload jr $ra addiu $sp, $sp, 24 .set at .set macro .set reorder .end f2 $tmp1: .size f2, ($tmp1)-f2 .globl f3 .align 2 .type f3,@function .set nomips16 .ent f3 f3: # @f3 .frame $sp,24,$ra .mask 0x80000000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro .set noat # %bb.0: # %entry lui $2, %hi(_gp_disp) addiu $2, $2, %lo(_gp_disp) addiu $sp, $sp, -24 sw $ra, 20($sp) # 4-byte Folded Spill addu $gp, $2, $25 lw $25, %call16(__tls_get_addr)($gp) jalr $25 addiu $4, $gp, %tlsldm(f3.i) lui $1, %dtprel_hi(f3.i) addu $1, $1, $2 lw $2, %dtprel_lo(f3.i)($1) addiu $2, $2, 1 sw $2, %dtprel_lo(f3.i)($1) lw $ra, 20($sp) # 4-byte Folded Reload jr $ra addiu $sp, $sp, 24 .set at .set macro .set reorder .end f3 $tmp2: .size f3, ($tmp2)-f3 .type t1,@object # @t1 .section .tbss,"awT",@nobits .globl t1 .align 2 t1: .4byte 0 # 0x0 .size t1, 4 .type f3.i,@object # @f3.i .section .tdata,"awT",@progbits .align 2 f3.i: .4byte 1 # 0x1 .size f3.i, 4 .text