1 # RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux | FileCheck %s 2 # CHECK: .section __TEXT,__text,regular,pure_instructions 3 # CHECK: abs.d $f12, $f14 4 0x46 0x20 0x73 0x05 5 6 # CHECK: abs.s $f6, $f7 7 0x46 0x00 0x39 0x85 8 9 # CHECK: add $9, $6, $7 10 0x00 0xc7 0x48 0x20 11 12 # CHECK: add.d $f8, $f12, $f14 13 0x46 0x2e 0x62 0x00 14 15 # CHECK: add.s $f9, $f6, $f7 16 0x46 0x07 0x32 0x40 17 18 # CHECK: addi $9, $6, 17767 19 0x20 0xc9 0x45 0x67 20 21 # CHECK: addiu $9, $6, -15001 22 0x24 0xc9 0xc5 0x67 23 24 # CHECK: addu $9, $6, $7 25 0x00 0xc7 0x48 0x21 26 27 # CHECK: and $9, $6, $7 28 0x00 0xc7 0x48 0x24 29 30 # CHECK: andi $9, $6, 17767 31 0x30 0xc9 0x45 0x67 32 33 # CHECK: b 1332 34 0x10 0x00 0x01 0x4c 35 36 # CHECK: bc1f 1332 37 0x45 0x00 0x01 0x4c 38 39 # CHECK: bc1t 1332 40 0x45 0x01 0x01 0x4c 41 42 # CHECK: beq $9, $6, 1332 43 0x11 0x26 0x01 0x4c 44 45 # CHECK: bgez $6, 1332 46 0x04 0xc1 0x01 0x4c 47 48 # CHECK: bgezal $6, 1332 49 0x04 0xd1 0x01 0x4c 50 51 # CHECK: bgtz $6, 1332 52 0x1c 0xc0 0x01 0x4c 53 54 # CHECK: blez $6, 1332 55 0x18 0xc0 0x01 0x4c 56 57 # CHECK: bne $9, $6, 1332 58 0x15 0x26 0x01 0x4c 59 60 # CHECK: c.eq.d $f12, $f14 61 0x46 0x2e 0x60 0x32 62 63 # CHECK: c.eq.s $f6, $f7 64 0x46 0x07 0x30 0x32 65 66 # CHECK: c.f.d $f12, $f14 67 0x46 0x2e 0x60 0x30 68 69 # CHECK: c.f.s $f6, $f7 70 0x46 0x07 0x30 0x30 71 72 # CHECK: c.le.d $f12, $f14 73 0x46 0x2e 0x60 0x3e 74 75 # CHECK: c.le.s $f6, $f7 76 0x46 0x07 0x30 0x3e 77 78 # CHECK: c.lt.d $f12, $f14 79 0x46 0x2e 0x60 0x3c 80 81 # CHECK: c.lt.s $f6, $f7 82 0x46 0x07 0x30 0x3c 83 84 # CHECK: c.nge.d $f12, $f14 85 0x46 0x2e 0x60 0x3d 86 87 # CHECK: c.nge.s $f6, $f7 88 0x46 0x07 0x30 0x3d 89 90 # CHECK: c.ngl.d $f12, $f14 91 0x46 0x2e 0x60 0x3b 92 93 # CHECK: c.ngl.s $f6, $f7 94 0x46 0x07 0x30 0x3b 95 96 # CHECK: c.ngle.d $f12, $f14 97 0x46 0x2e 0x60 0x39 98 99 # CHECK: c.ngle.s $f6, $f7 100 0x46 0x07 0x30 0x39 101 102 # CHECK: c.ngt.d $f12, $f14 103 0x46 0x2e 0x60 0x3f 104 105 # CHECK: c.ngt.s $f6, $f7 106 0x46 0x07 0x30 0x3f 107 108 # CHECK: c.ole.d $f12, $f14 109 0x46 0x2e 0x60 0x36 110 111 # CHECK: c.ole.s $f6, $f7 112 0x46 0x07 0x30 0x36 113 114 # CHECK: c.olt.d $f12, $f14 115 0x46 0x2e 0x60 0x34 116 117 # CHECK: c.olt.s $f6, $f7 118 0x46 0x07 0x30 0x34 119 120 # CHECK: c.seq.d $f12, $f14 121 0x46 0x2e 0x60 0x3a 122 123 # CHECK: c.seq.s $f6, $f7 124 0x46 0x07 0x30 0x3a 125 126 # CHECK: c.sf.d $f12, $f14 127 0x46 0x2e 0x60 0x38 128 129 # CHECK: c.sf.s $f6, $f7 130 0x46 0x07 0x30 0x38 131 132 # CHECK: c.ueq.d $f12, $f14 133 0x46 0x2e 0x60 0x33 134 135 # CHECK: c.ueq.s $f28, $f18 136 0x46 0x12 0xe0 0x33 137 138 # CHECK: c.ule.d $f12, $f14 139 0x46 0x2e 0x60 0x37 140 141 # CHECK: c.ule.s $f6, $f7 142 0x46 0x07 0x30 0x37 143 144 # CHECK: c.ult.d $f12, $f14 145 0x46 0x2e 0x60 0x35 146 147 # CHECK: c.ult.s $f6, $f7 148 0x46 0x07 0x30 0x35 149 150 # CHECK: c.un.d $f12, $f14 151 0x46 0x2e 0x60 0x31 152 153 # CHECK: c.un.s $f6, $f7 154 0x46 0x07 0x30 0x31 155 156 # CHECK: ceil.w.d $f12, $f14 157 0x46 0x20 0x73 0x0e 158 159 # CHECK: ceil.w.s $f6, $f7 160 0x46 0x00 0x39 0x8e 161 162 # CHECK: cfc1 $6, $7 163 0x44 0x46 0x38 0x00 164 165 # CHECK: clo $6, $7 166 0x70 0xe6 0x30 0x21 167 168 # CHECK: clz $6, $7 169 0x70 0xe6 0x30 0x20 170 171 # CHECK: ctc1 $6, $7 172 0x44 0xc6 0x38 0x00 173 174 # CHECK: cvt.d.s $f6, $f7 175 0x46 0x00 0x39 0xa1 176 177 # CHECK: cvt.d.w $f12, $f14 178 0x46 0x80 0x73 0x21 179 180 # CHECK: cvt.s.d $f12, $f14 181 0x46 0x20 0x73 0x20 182 183 # CHECK: cvt.s.w $f6, $f7 184 0x46 0x80 0x39 0xa0 185 186 # CHECK: cvt.w.d $f12, $f14 187 0x46 0x20 0x73 0x24 188 189 # CHECK: cvt.w.s $f6, $f7 190 0x46 0x00 0x39 0xa4 191 192 # CHECK: floor.w.d $f12, $f14 193 0x46 0x20 0x73 0x0f 194 195 # CHECK: floor.w.s $f6, $f7 196 0x46 0x00 0x39 0x8f 197 198 # CHECK: j 1328 199 0x08 0x00 0x01 0x4c 200 201 # CHECK: jal 1328 202 0x0c 0x00 0x01 0x4c 203 204 # CHECK: jalr $7 205 0x00 0xe0 0xf8 0x09 206 207 # CHECK: jr $7 208 0x00 0xe0 0x00 0x08 209 210 # CHECK: lb $4, 9158($5) 211 0x80 0xa4 0x23 0xc6 212 213 # CHECK: lbu $4, 6($5) 214 0x90 0xa4 0x00 0x06 215 216 # CHECK: ldc1 $f9, 9158($7) 217 0xd4 0xe9 0x23 0xc6 218 219 # CHECK: lh $4, 12($5) 220 0x84 0xa4 0x00 0x0c 221 222 # CHECK: lh $4, 12($5) 223 0x84 0xa4 0x00 0x0c 224 225 # CHECK: ll $9, 9158($7) 226 0xc0 0xe9 0x23 0xc6 227 228 # CHECK: lui $6, 17767 229 0x3c 0x06 0x45 0x67 230 231 # CHECK: lw $4, 24($5) 232 0x8c 0xa4 0x00 0x18 233 234 # CHECK: lwc1 $f9, 9158($7) 235 0xc4 0xe9 0x23 0xc6 236 237 # CHECK: lwl $2, 3($4) 238 0x88 0x82 0x00 0x03 239 240 # CHECK: lwr $3, 16($5) 241 0x98 0xa3 0x00 0x10 242 243 # CHECK: madd $6, $7 244 0x70 0xc7 0x00 0x00 245 246 # CHECK: maddu $6, $7 247 0x70 0xc7 0x00 0x01 248 249 # CHECK: mfc1 $6, $f7 250 0x44 0x06 0x38 0x00 251 252 # CHECK: mfhi $5 253 0x00 0x00 0x28 0x10 254 255 # CHECK: mflo $5 256 0x00 0x00 0x28 0x12 257 258 # CHECK: mov.d $f6, $f8 259 0x46 0x20 0x41 0x86 260 261 # CHECK: mov.s $f6, $f7 262 0x46 0x00 0x39 0x86 263 264 # CHECK: msub $6, $7 265 0x70 0xc7 0x00 0x04 266 267 # CHECK: msubu $6, $7 268 0x70 0xc7 0x00 0x05 269 270 # CHECK: mtc1 $6, $f7 271 0x44 0x86 0x38 0x00 272 273 # CHECK: mthi $7 274 0x00 0xe0 0x00 0x11 275 276 # CHECK: mtlo $7 277 0x00 0xe0 0x00 0x13 278 279 # CHECK: mul.d $f8, $f12, $f14 280 0x46 0x2e 0x62 0x02 281 282 # CHECK: mul.s $f9, $f6, $f7 283 0x46 0x07 0x32 0x42 284 285 # CHECK: mul $9, $6, $7 286 0x70 0xc7 0x48 0x02 287 288 # CHECK: mult $3, $5 289 0x00 0x65 0x00 0x18 290 291 # CHECK: multu $3, $5 292 0x00 0x65 0x00 0x19 293 294 # CHECK: neg.d $f12, $f14 295 0x46 0x20 0x73 0x07 296 297 # CHECK: neg.s $f6, $f7 298 0x46 0x00 0x39 0x87 299 300 # CHECK: nop 301 0x00 0x00 0x00 0x00 302 303 # CHECK: nor $9, $6, $7 304 0x00 0xc7 0x48 0x27 305 306 # CHECK: or $3, $3, $5 307 0x00 0x65 0x18 0x25 308 309 # CHECK: ori $9, $6, 17767 310 0x34 0xc9 0x45 0x67 311 312 # CHECK: round.w.d $f12, $f14 313 0x46 0x20 0x73 0x0c 314 315 # CHECK: round.w.s $f6, $f7 316 0x46 0x00 0x39 0x8c 317 318 # CHECK: sb $4, 9158($5) 319 0xa0 0xa4 0x23 0xc6 320 321 # CHECK: sb $4, 6($5) 322 0xa0 0xa4 0x00 0x06 323 324 # CHECK: sc $9, 9158($7) 325 0xe0 0xe9 0x23 0xc6 326 327 # CHECK: sdc1 $f9, 9158($7) 328 0xf4 0xe9 0x23 0xc6 329 330 # CHECK: sh $4, 9158($5) 331 0xa4 0xa4 0x23 0xc6 332 333 # CHECK: sll $4, $3, 7 334 0x00 0x03 0x21 0xc0 335 336 # CHECK: sllv $2, $3, $5 337 0x00 0xa3 0x10 0x04 338 339 # CHECK: slt $3, $3, $5 340 0x00 0x65 0x18 0x2a 341 342 # CHECK: slti $3, $3, 103 343 0x28 0x63 0x00 0x67 344 345 # CHECK: sltiu $3, $3, 103 346 0x2c 0x63 0x00 0x67 347 348 # CHECK: sltu $3, $3, $5 349 0x00 0x65 0x18 0x2b 350 351 # CHECK: sqrt.d $f12, $f14 352 0x46 0x20 0x73 0x04 353 354 # CHECK: sqrt.s $f6, $f7 355 0x46 0x00 0x39 0x84 356 357 # CHECK: sra $4, $3, 7 358 0x00 0x03 0x21 0xc3 359 360 # CHECK: srav $2, $3, $5 361 0x00 0xa3 0x10 0x07 362 363 # CHECK: srl $4, $3, 7 364 0x00 0x03 0x21 0xc2 365 366 # CHECK: srlv $2, $3, $5 367 0x00 0xa3 0x10 0x06 368 369 # CHECK: sub.d $f8, $f12, $f14 370 0x46 0x2e 0x62 0x01 371 372 # CHECK: sub.s $f9, $f6, $f7 373 0x46 0x07 0x32 0x41 374 375 # CHECK: sub $9, $6, $7 376 0x00 0xc7 0x48 0x22 377 378 # CHECK: subu $4, $3, $5 379 0x00 0x65 0x20 0x23 380 381 # CHECK: sw $4, 24($5) 382 0xac 0xa4 0x00 0x18 383 384 # CHECK: swc1 $f9, 9158($7) 385 0xe4 0xe9 0x23 0xc6 386 387 # CHECK: swl $4, 16($5) 388 0xa8 0xa4 0x00 0x10 389 390 # CHECK: swr $6, 16($7) 391 0xb8 0xe6 0x00 0x10 392 393 # CHECK: sync 7 394 0x00 0x00 0x01 0xcf 395 396 # CHECK: trunc.w.d $f12, $f14 397 0x46 0x20 0x73 0x0d 398 399 # CHECK: trunc.w.s $f6, $f7 400 0x46 0x00 0x39 0x8d 401 402 # CHECK: xor $3, $3, $5 403 0x00 0x65 0x18 0x26 404 405 # CHECK: xori $9, $6, 17767 406 0x38 0xc9 0x45 0x67 407 408 # CHECK: .set push 409 # CHECK: .set mips32r2 410 # CHECK: rdhwr $5, $29 411 # CHECK: .set pop 412 0x7c 0x05 0xe8 0x3b 413