Home | History | Annotate | Download | only in Mips
      1 // RUN: llvm-mc -filetype=obj -triple mipsel-unknown-linux %s -o - | llvm-readobj -r | FileCheck %s
      2 
      3 // Check that the appropriate relocations were created.
      4 
      5 // CHECK: Relocations [
      6 // CHECK:   Section {{.*}} .rel.text {
      7 // CHECK:     R_MIPS_TLS_LDM
      8 // CHECK:     R_MIPS_TLS_DTPREL_HI16
      9 // CHECK:     R_MIPS_TLS_DTPREL_LO16
     10 // CHECK:   }
     11 // CHECK: ]
     12 
     13 	.text
     14 	.abicalls
     15 	.section	.mdebug.abi32,"",@progbits
     16 	.file	"/home/espindola/llvm/llvm/test/MC/Mips/elf-tls.ll"
     17 	.text
     18 	.globl	f1
     19 	.align	2
     20 	.type	f1,@function
     21 	.set	nomips16
     22 	.ent	f1
     23 f1:                                     # @f1
     24 	.frame	$sp,24,$ra
     25 	.mask 	0x80000000,-4
     26 	.fmask	0x00000000,0
     27 	.set	noreorder
     28 	.set	nomacro
     29 	.set	noat
     30 # BB#0:                                 # %entry
     31 	lui	$2, %hi(_gp_disp)
     32 	addiu	$2, $2, %lo(_gp_disp)
     33 	addiu	$sp, $sp, -24
     34 	sw	$ra, 20($sp)            # 4-byte Folded Spill
     35 	addu	$gp, $2, $25
     36 	lw	$25, %call16(__tls_get_addr)($gp)
     37 	jalr	$25
     38 	addiu	$4, $gp, %tlsgd(t1)
     39 	lw	$2, 0($2)
     40 	lw	$ra, 20($sp)            # 4-byte Folded Reload
     41 	jr	$ra
     42 	addiu	$sp, $sp, 24
     43 	.set	at
     44 	.set	macro
     45 	.set	reorder
     46 	.end	f1
     47 $tmp0:
     48 	.size	f1, ($tmp0)-f1
     49 
     50 	.globl	f2
     51 	.align	2
     52 	.type	f2,@function
     53 	.set	nomips16
     54 	.ent	f2
     55 f2:                                     # @f2
     56 	.frame	$sp,24,$ra
     57 	.mask 	0x80000000,-4
     58 	.fmask	0x00000000,0
     59 	.set	noreorder
     60 	.set	nomacro
     61 	.set	noat
     62 # BB#0:                                 # %entry
     63 	lui	$2, %hi(_gp_disp)
     64 	addiu	$2, $2, %lo(_gp_disp)
     65 	addiu	$sp, $sp, -24
     66 	sw	$ra, 20($sp)            # 4-byte Folded Spill
     67 	addu	$gp, $2, $25
     68 	lw	$25, %call16(__tls_get_addr)($gp)
     69 	jalr	$25
     70 	addiu	$4, $gp, %tlsgd(t2)
     71 	lw	$2, 0($2)
     72 	lw	$ra, 20($sp)            # 4-byte Folded Reload
     73 	jr	$ra
     74 	addiu	$sp, $sp, 24
     75 	.set	at
     76 	.set	macro
     77 	.set	reorder
     78 	.end	f2
     79 $tmp1:
     80 	.size	f2, ($tmp1)-f2
     81 
     82 	.globl	f3
     83 	.align	2
     84 	.type	f3,@function
     85 	.set	nomips16
     86 	.ent	f3
     87 f3:                                     # @f3
     88 	.frame	$sp,24,$ra
     89 	.mask 	0x80000000,-4
     90 	.fmask	0x00000000,0
     91 	.set	noreorder
     92 	.set	nomacro
     93 	.set	noat
     94 # BB#0:                                 # %entry
     95 	lui	$2, %hi(_gp_disp)
     96 	addiu	$2, $2, %lo(_gp_disp)
     97 	addiu	$sp, $sp, -24
     98 	sw	$ra, 20($sp)            # 4-byte Folded Spill
     99 	addu	$gp, $2, $25
    100 	lw	$25, %call16(__tls_get_addr)($gp)
    101 	jalr	$25
    102 	addiu	$4, $gp, %tlsldm(f3.i)
    103 	lui	$1, %dtprel_hi(f3.i)
    104 	addu	$1, $1, $2
    105 	lw	$2, %dtprel_lo(f3.i)($1)
    106 	addiu	$2, $2, 1
    107 	sw	$2, %dtprel_lo(f3.i)($1)
    108 	lw	$ra, 20($sp)            # 4-byte Folded Reload
    109 	jr	$ra
    110 	addiu	$sp, $sp, 24
    111 	.set	at
    112 	.set	macro
    113 	.set	reorder
    114 	.end	f3
    115 $tmp2:
    116 	.size	f3, ($tmp2)-f3
    117 
    118 	.type	t1,@object              # @t1
    119 	.section	.tbss,"awT",@nobits
    120 	.globl	t1
    121 	.align	2
    122 t1:
    123 	.4byte	0                       # 0x0
    124 	.size	t1, 4
    125 
    126 	.type	f3.i,@object            # @f3.i
    127 	.section	.tdata,"awT",@progbits
    128 	.align	2
    129 f3.i:
    130 	.4byte	1                       # 0x1
    131 	.size	f3.i, 4
    132 
    133 
    134 	.text
    135