1# Source file used to test li/addi on MIPS16 2 3 .set mips16 4 5 .data 6data_label: 7 .word 0 8data_label2: 9 .word 0 10 11 .extern big_external_data_label,1000 12 .extern small_external_data_label,1 13 .comm big_external_common,1000 14 .comm small_external_common,1 15 .lcomm big_local_common,1000 16 .lcomm small_local_common,1 17 18 .text 19stuff: 20 li $4,%hi(0) 21 sll $4,16 22 addiu $4,%lo(0) 23 li $4,%hi(data_label) 24 sll $4,16 25 addiu $4,%lo(data_label) 26 li $4,%hi(data_label2) 27 sll $4,16 28 addiu $4,%lo(data_label2) 29 li $4,%hi(big_external_data_label) 30 sll $4,16 31 addiu $4,%lo(big_external_data_label) 32 li $4,%hi(small_external_data_label) 33 sll $4,16 34 addiu $4,%lo(small_external_data_label) 35 li $4,%hi(big_external_common) 36 sll $4,16 37 addiu $4,%lo(big_external_common) 38 li $4,%hi(small_external_common) 39 sll $4,16 40 addiu $4,%lo(small_external_common) 41 li $4,%hi(big_local_common) 42 sll $4,16 43 addiu $4,%lo(big_local_common) 44 li $4,%hi(small_local_common) 45 sll $4,16 46 addiu $4,%lo(small_local_common) 47 li $4,%hi(1) 48 sll $4,16 49 addiu $4,%lo(1) 50 li $4,%hi(data_label+1) 51 sll $4,16 52 addiu $4,%lo(data_label+1) 53 li $4,%hi(data_label2+1) 54 sll $4,16 55 addiu $4,%lo(data_label2+1) 56 li $4,%hi(big_external_data_label+1) 57 sll $4,16 58 addiu $4,%lo(big_external_data_label+1) 59 li $4,%hi(small_external_data_label+1) 60 sll $4,16 61 addiu $4,%lo(small_external_data_label+1) 62 li $4,%hi(big_external_common+1) 63 sll $4,16 64 addiu $4,%lo(big_external_common+1) 65 li $4,%hi(small_external_common+1) 66 sll $4,16 67 addiu $4,%lo(small_external_common+1) 68 li $4,%hi(big_local_common+1) 69 sll $4,16 70 addiu $4,%lo(big_local_common+1) 71 li $4,%hi(small_local_common+1) 72 sll $4,16 73 addiu $4,%lo(small_local_common+1) 74 li $4,%hi(0x8000) 75 sll $4,16 76 addiu $4,%lo(0x8000) 77 li $4,%hi(data_label+0x8000) 78 sll $4,16 79 addiu $4,%lo(data_label+0x8000) 80 li $4,%hi(data_label2+0x8000) 81 sll $4,16 82 addiu $4,%lo(data_label2+0x8000) 83 li $4,%hi(big_external_data_label+0x8000) 84 sll $4,16 85 addiu $4,%lo(big_external_data_label+0x8000) 86 li $4,%hi(small_external_data_label+0x8000) 87 sll $4,16 88 addiu $4,%lo(small_external_data_label+0x8000) 89 li $4,%hi(big_external_common+0x8000) 90 sll $4,16 91 addiu $4,%lo(big_external_common+0x8000) 92 li $4,%hi(small_external_common+0x8000) 93 sll $4,16 94 addiu $4,%lo(small_external_common+0x8000) 95 li $4,%hi(big_local_common+0x8000) 96 sll $4,16 97 addiu $4,%lo(big_local_common+0x8000) 98 li $4,%hi(small_local_common+0x8000) 99 sll $4,16 100 addiu $4,%lo(small_local_common+0x8000) 101 li $4,%hi(-0x8000) 102 sll $4,16 103 addiu $4,%lo(-0x8000) 104 li $4,%hi(data_label-0x8000) 105 sll $4,16 106 addiu $4,%lo(data_label-0x8000) 107 li $4,%hi(data_label2-0x8000) 108 sll $4,16 109 addiu $4,%lo(data_label2-0x8000) 110 li $4,%hi(big_external_data_label-0x8000) 111 sll $4,16 112 addiu $4,%lo(big_external_data_label-0x8000) 113 li $4,%hi(small_external_data_label-0x8000) 114 sll $4,16 115 addiu $4,%lo(small_external_data_label-0x8000) 116 li $4,%hi(big_external_common-0x8000) 117 sll $4,16 118 addiu $4,%lo(big_external_common-0x8000) 119 li $4,%hi(small_external_common-0x8000) 120 sll $4,16 121 addiu $4,%lo(small_external_common-0x8000) 122 li $4,%hi(big_local_common-0x8000) 123 sll $4,16 124 addiu $4,%lo(big_local_common-0x8000) 125 li $4,%hi(small_local_common-0x8000) 126 sll $4,16 127 addiu $4,%lo(small_local_common-0x8000) 128 li $4,%hi(0x10000) 129 sll $4,16 130 addiu $4,%lo(0x10000) 131 li $4,%hi(data_label+0x10000) 132 sll $4,16 133 addiu $4,%lo(data_label+0x10000) 134 li $4,%hi(data_label2+0x10000) 135 sll $4,16 136 addiu $4,%lo(data_label2+0x10000) 137 li $4,%hi(big_external_data_label+0x10000) 138 sll $4,16 139 addiu $4,%lo(big_external_data_label+0x10000) 140 li $4,%hi(small_external_data_label+0x10000) 141 sll $4,16 142 addiu $4,%lo(small_external_data_label+0x10000) 143 li $4,%hi(big_external_common+0x10000) 144 sll $4,16 145 addiu $4,%lo(big_external_common+0x10000) 146 li $4,%hi(small_external_common+0x10000) 147 sll $4,16 148 addiu $4,%lo(small_external_common+0x10000) 149 li $4,%hi(big_local_common+0x10000) 150 sll $4,16 151 addiu $4,%lo(big_local_common+0x10000) 152 li $4,%hi(small_local_common+0x10000) 153 sll $4,16 154 addiu $4,%lo(small_local_common+0x10000) 155 li $4,%hi(0x1a5a5) 156 sll $4,16 157 addiu $4,%lo(0x1a5a5) 158 li $4,%hi(data_label+0x1a5a5) 159 sll $4,16 160 addiu $4,%lo(data_label+0x1a5a5) 161 li $4,%hi(data_label2+0x1a5a5) 162 sll $4,16 163 addiu $4,%lo(data_label2+0x1a5a5) 164 li $4,%hi(big_external_data_label+0x1a5a5) 165 sll $4,16 166 addiu $4,%lo(big_external_data_label+0x1a5a5) 167 li $4,%hi(small_external_data_label+0x1a5a5) 168 sll $4,16 169 addiu $4,%lo(small_external_data_label+0x1a5a5) 170 li $4,%hi(big_external_common+0x1a5a5) 171 sll $4,16 172 addiu $4,%lo(big_external_common+0x1a5a5) 173 li $4,%hi(small_external_common+0x1a5a5) 174 sll $4,16 175 addiu $4,%lo(small_external_common+0x1a5a5) 176 li $4,%hi(big_local_common+0x1a5a5) 177 sll $4,16 178 addiu $4,%lo(big_local_common+0x1a5a5) 179 li $4,%hi(small_local_common+0x1a5a5) 180 sll $4,16 181 addiu $4,%lo(small_local_common+0x1a5a5) 182 li $5,%hi(0) 183 sll $5,16 184 lw $4,%hi(0)($5) 185 li $5,%hi(data_label) 186 sll $5,16 187 lw $4,%hi(data_label)($5) 188 li $5,%hi(data_label2) 189 sll $5,16 190 lw $4,%hi(data_label2)($5) 191 li $5,%hi(big_external_data_label) 192 sll $5,16 193 lw $4,%lo(big_external_data_label)($5) 194 li $5,%hi(small_external_data_label) 195 sll $5,16 196 lw $4,%lo(small_external_data_label)($5) 197 li $5,%hi(big_external_common) 198 sll $5,16 199 lw $4,%lo(big_external_common)($5) 200 li $5,%hi(small_external_common) 201 sll $5,16 202 lw $4,%lo(small_external_common)($5) 203 li $5,%hi(big_local_common) 204 sll $5,16 205 lw $4,%lo(big_local_common)($5) 206 li $5,%hi(small_local_common) 207 sll $5,16 208 lw $4,%lo(small_local_common)($5) 209 li $5,%hi(1) 210 sll $5,16 211 lw $4,%lo(1)($5) 212 li $5,%hi(data_label+1) 213 sll $5,16 214 lw $4,%lo(data_label+1)($5) 215 li $5,%hi(data_label2+1) 216 sll $5,16 217 lw $4,%lo(data_label2+1)($5) 218 li $5,%hi(big_external_data_label+1) 219 sll $5,16 220 lw $4,%lo(big_external_data_label+1)($5) 221 li $5,%hi(small_external_data_label+1) 222 sll $5,16 223 lw $4,%lo(small_external_data_label+1)($5) 224 li $5,%hi(big_external_common+1) 225 sll $5,16 226 lw $4,%lo(big_external_common+1)($5) 227 li $5,%hi(small_external_common+1) 228 sll $5,16 229 lw $4,%lo(small_external_common+1)($5) 230 li $5,%hi(big_local_common+1) 231 sll $5,16 232 lw $4,%lo(big_local_common+1)($5) 233 li $5,%hi(small_local_common+1) 234 sll $5,16 235 lw $4,%lo(small_local_common+1)($5) 236 li $5,%hi(0x8000) 237 sll $5,16 238 lw $4,%lo(0x8000)($5) 239 li $5,%hi(data_label+0x8000) 240 sll $5,16 241 lw $4,%lo(data_label+0x8000)($5) 242 li $5,%hi(data_label2+0x8000) 243 sll $5,16 244 lw $4,%lo(data_label2+0x8000)($5) 245 li $5,%hi(big_external_data_label+0x8000) 246 sll $5,16 247 lw $4,%lo(big_external_data_label+0x8000)($5) 248 li $5,%hi(small_external_data_label+0x8000) 249 sll $5,16 250 lw $4,%lo(small_external_data_label+0x8000)($5) 251 li $5,%hi(big_external_common+0x8000) 252 sll $5,16 253 lw $4,%lo(big_external_common+0x8000)($5) 254 li $5,%hi(small_external_common+0x8000) 255 sll $5,16 256 lw $4,%lo(small_external_common+0x8000)($5) 257 li $5,%hi(big_local_common+0x8000) 258 sll $5,16 259 lw $4,%lo(big_local_common+0x8000)($5) 260 li $5,%hi(small_local_common+0x8000) 261 sll $5,16 262 lw $4,%lo(small_local_common+0x8000)($5) 263 li $5,%hi(-0x8000) 264 sll $5,16 265 lw $4,%lo(-0x8000)($5) 266 li $5,%hi(data_label-0x8000) 267 sll $5,16 268 lw $4,%lo(data_label-0x8000)($5) 269 li $5,%hi(data_label2-0x8000) 270 sll $5,16 271 lw $4,%lo(data_label2-0x8000)($5) 272 li $5,%hi(big_external_data_label-0x8000) 273 sll $5,16 274 lw $4,%lo(big_external_data_label-0x8000)($5) 275 li $5,%hi(small_external_data_label-0x8000) 276 sll $5,16 277 lw $4,%lo(small_external_data_label-0x8000)($5) 278 li $5,%hi(big_external_common-0x8000) 279 sll $5,16 280 lw $4,%lo(big_external_common-0x8000)($5) 281 li $5,%hi(small_external_common-0x8000) 282 sll $5,16 283 lw $4,%lo(small_external_common-0x8000)($5) 284 li $5,%hi(big_local_common-0x8000) 285 sll $5,16 286 lw $4,%lo(big_local_common-0x8000)($5) 287 li $5,%hi(small_local_common-0x8000) 288 sll $5,16 289 lw $4,%lo(small_local_common-0x8000)($5) 290 li $5,%hi(0x10000) 291 sll $5,16 292 lw $4,%lo(0x10000)($5) 293 li $5,%hi(data_label+0x10000) 294 sll $5,16 295 lw $4,%lo(data_label+0x10000)($5) 296 li $5,%hi(data_label2+0x10000) 297 sll $5,16 298 lw $4,%lo(data_label2+0x10000)($5) 299 li $5,%hi(big_external_data_label+0x10000) 300 sll $5,16 301 lw $4,%lo(big_external_data_label+0x10000)($5) 302 li $5,%hi(small_external_data_label+0x10000) 303 sll $5,16 304 lw $4,%lo(small_external_data_label+0x10000)($5) 305 li $5,%hi(big_external_common+0x10000) 306 sll $5,16 307 lw $4,%lo(big_external_common+0x10000)($5) 308 li $5,%hi(small_external_common+0x10000) 309 sll $5,16 310 lw $4,%lo(small_external_common+0x10000)($5) 311 li $5,%hi(big_local_common+0x10000) 312 sll $5,16 313 lw $4,%lo(big_local_common+0x10000)($5) 314 li $5,%hi(small_local_common+0x10000) 315 sll $5,16 316 lw $4,%lo(small_local_common+0x10000)($5) 317 li $5,%hi(0x1a5a5) 318 sll $5,16 319 lw $4,%lo(0x1a5a5)($5) 320 li $5,%hi(data_label+0x1a5a5) 321 sll $5,16 322 lw $4,%lo(data_label+0x1a5a5)($5) 323 li $5,%hi(data_label2+0x1a5a5) 324 sll $5,16 325 lw $4,%lo(data_label2+0x1a5a5)($5) 326 li $5,%hi(big_external_data_label+0x1a5a5) 327 sll $5,16 328 lw $4,%lo(big_external_data_label+0x1a5a5)($5) 329 li $5,%hi(small_external_data_label+0x1a5a5) 330 sll $5,16 331 lw $4,%lo(small_external_data_label+0x1a5a5)($5) 332 li $5,%hi(big_external_common+0x1a5a5) 333 sll $5,16 334 lw $4,%lo(big_external_common+0x1a5a5)($5) 335 li $5,%hi(small_external_common+0x1a5a5) 336 sll $5,16 337 lw $4,%lo(small_external_common+0x1a5a5)($5) 338 li $5,%hi(big_local_common+0x1a5a5) 339 sll $5,16 340 lw $4,%lo(big_local_common+0x1a5a5)($5) 341 li $5,%hi(small_local_common+0x1a5a5) 342 sll $5,16 343 lw $4,%lo(small_local_common+0x1a5a5)($5) 344 345# align section end to 16-byte boundary for easier testing on multiple targets 346 .p2align 4 347