Home | History | Annotate | Download | only in mips
      1 # Source file used to test the doubleword memory access macros
      2 # (ld and friends).
      3 
      4 # By default test ld.
      5 	.set	r4, $4
      6 
      7 # If defined, test sd instead.
      8 	.ifdef	tsd
      9 	.macro	ld ops:vararg
     10 	sd	\ops
     11 	.endm
     12 	.endif
     13 # If defined, test l.d instead.
     14 	.ifdef	tl_d
     15 	.set	r4, $f4
     16 	.macro	ld ops:vararg
     17 	l.d	\ops
     18 	.endm
     19 	.endif
     20 # If defined, test s.d instead.
     21 	.ifdef	ts_d
     22 	.set	r4, $f4
     23 	.macro	ld ops:vararg
     24 	s.d	\ops
     25 	.endm
     26 	.endif
     27 # If defined, test ldc1 instead.
     28 	.ifdef	tldc1
     29 	.set	r4, $f4
     30 	.macro	ld ops:vararg
     31 	ldc1	\ops
     32 	.endm
     33 	.endif
     34 # If defined, test sdc1 instead.
     35 	.ifdef	tsdc1
     36 	.set	r4, $f4
     37 	.macro	ld ops:vararg
     38 	sdc1	\ops
     39 	.endm
     40 	.endif
     41 
     42 	.macro	data
     43 	.bss
     44 	.align	12
     45 	.sbss
     46 	.align	12
     47 	.data
     48 	.align	12
     49 data_label:
     50 	.extern big_external_data_label,1000
     51 	.extern small_external_data_label,1
     52 	.comm big_external_common,1000
     53 	.comm small_external_common,1
     54 	.lcomm big_local_common,1000
     55 	.lcomm small_local_common,1
     56 	.endm
     57 
     58 	.ifndef	forward
     59 	data
     60 	.endif
     61 
     62 	.text
     63 	.align	12
     64 text_label:
     65 	ld	r4,0
     66 	ld	r4,1
     67 	ld	r4,0x8000
     68 	ld	r4,-0x8000
     69 	ld	r4,0x10000
     70 	ld	r4,0x1a5a5
     71 	ld	r4,0($5)
     72 	ld	r4,1($5)
     73 	ld	r4,0x8000($5)
     74 	ld	r4,-0x8000($5)
     75 	ld	r4,0x10000($5)
     76 	ld	r4,0x1a5a5($5)
     77 	ld	r4,data_label
     78 	ld	r4,big_external_data_label
     79 	ld	r4,small_external_data_label
     80 	ld	r4,big_external_common
     81 	ld	r4,small_external_common
     82 	ld	r4,big_local_common
     83 	ld	r4,small_local_common
     84 	ld	r4,data_label+1
     85 	ld	r4,big_external_data_label+1
     86 	ld	r4,small_external_data_label+1
     87 	ld	r4,big_external_common+1
     88 	ld	r4,small_external_common+1
     89 	ld	r4,big_local_common+1
     90 	ld	r4,small_local_common+1
     91 	ld	r4,data_label+0x8000
     92 	ld	r4,big_external_data_label+0x8000
     93 	ld	r4,small_external_data_label+0x8000
     94 	ld	r4,big_external_common+0x8000
     95 	ld	r4,small_external_common+0x8000
     96 	ld	r4,big_local_common+0x8000
     97 	ld	r4,small_local_common+0x8000
     98 	ld	r4,data_label-0x8000
     99 	ld	r4,big_external_data_label-0x8000
    100 	ld	r4,small_external_data_label-0x8000
    101 	ld	r4,big_external_common-0x8000
    102 	ld	r4,small_external_common-0x8000
    103 	ld	r4,big_local_common-0x8000
    104 	ld	r4,small_local_common-0x8000
    105 	ld	r4,data_label+0x10000
    106 	ld	r4,big_external_data_label+0x10000
    107 	ld	r4,small_external_data_label+0x10000
    108 	ld	r4,big_external_common+0x10000
    109 	ld	r4,small_external_common+0x10000
    110 	ld	r4,big_local_common+0x10000
    111 	ld	r4,small_local_common+0x10000
    112 	ld	r4,data_label+0x1a5a5
    113 	ld	r4,big_external_data_label+0x1a5a5
    114 	ld	r4,small_external_data_label+0x1a5a5
    115 	ld	r4,big_external_common+0x1a5a5
    116 	ld	r4,small_external_common+0x1a5a5
    117 	ld	r4,big_local_common+0x1a5a5
    118 	ld	r4,small_local_common+0x1a5a5
    119 	ld	r4,data_label($5)
    120 	ld	r4,big_external_data_label($5)
    121 	ld	r4,small_external_data_label($5)
    122 	ld	r4,big_external_common($5)
    123 	ld	r4,small_external_common($5)
    124 	ld	r4,big_local_common($5)
    125 	ld	r4,small_local_common($5)
    126 	ld	r4,data_label+1($5)
    127 	ld	r4,big_external_data_label+1($5)
    128 	ld	r4,small_external_data_label+1($5)
    129 	ld	r4,big_external_common+1($5)
    130 	ld	r4,small_external_common+1($5)
    131 	ld	r4,big_local_common+1($5)
    132 	ld	r4,small_local_common+1($5)
    133 	ld	r4,data_label+0x8000($5)
    134 	ld	r4,big_external_data_label+0x8000($5)
    135 	ld	r4,small_external_data_label+0x8000($5)
    136 	ld	r4,big_external_common+0x8000($5)
    137 	ld	r4,small_external_common+0x8000($5)
    138 	ld	r4,big_local_common+0x8000($5)
    139 	ld	r4,small_local_common+0x8000($5)
    140 	ld	r4,data_label-0x8000($5)
    141 	ld	r4,big_external_data_label-0x8000($5)
    142 	ld	r4,small_external_data_label-0x8000($5)
    143 	ld	r4,big_external_common-0x8000($5)
    144 	ld	r4,small_external_common-0x8000($5)
    145 	ld	r4,big_local_common-0x8000($5)
    146 	ld	r4,small_local_common-0x8000($5)
    147 	ld	r4,data_label+0x10000($5)
    148 	ld	r4,big_external_data_label+0x10000($5)
    149 	ld	r4,small_external_data_label+0x10000($5)
    150 	ld	r4,big_external_common+0x10000($5)
    151 	ld	r4,small_external_common+0x10000($5)
    152 	ld	r4,big_local_common+0x10000($5)
    153 	ld	r4,small_local_common+0x10000($5)
    154 	ld	r4,data_label+0x1a5a5($5)
    155 	ld	r4,big_external_data_label+0x1a5a5($5)
    156 	ld	r4,small_external_data_label+0x1a5a5($5)
    157 	ld	r4,big_external_common+0x1a5a5($5)
    158 	ld	r4,small_external_common+0x1a5a5($5)
    159 	ld	r4,big_local_common+0x1a5a5($5)
    160 	ld	r4,small_local_common+0x1a5a5($5)
    161 
    162 # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
    163 	.align	2
    164 	.space	8
    165 
    166 	.ifdef	forward
    167 	data
    168 	.endif
    169