1# RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux | FileCheck %s 2# CHECK: abs.d $f12, $f14 30x46 0x20 0x73 0x05 4 5# CHECK: abs.s $f6, $f7 60x46 0x00 0x39 0x85 7 8# CHECK: add $9, $6, $7 90x00 0xc7 0x48 0x20 10 11# CHECK: add.d $f8, $f12, $f14 120x46 0x2e 0x62 0x00 13 14# CHECK: add.s $f9, $f6, $f7 150x46 0x07 0x32 0x40 16 17# CHECK: addi $9, $6, 17767 180x20 0xc9 0x45 0x67 19 20# CHECK: addiu $9, $6, -15001 210x24 0xc9 0xc5 0x67 22 23# CHECK: addu $9, $6, $7 240x00 0xc7 0x48 0x21 25 26# CHECK: and $9, $6, $7 270x00 0xc7 0x48 0x24 28 29# CHECK: andi $9, $6, 17767 300x30 0xc9 0x45 0x67 31 32# CHECK: b 1332 330x10 0x00 0x01 0x4c 34 35# CHECK: bc1f 1332 360x45 0x00 0x01 0x4c 37 38# CHECK: bc1f $fcc7, 1332 390x45 0x1c 0x01 0x4c 40 41# CHECK: bc1t 1332 420x45 0x01 0x01 0x4c 43 44# CHECK: bc1t $fcc7, 1332 450x45 0x1d 0x01 0x4c 46 47# CHECK: beq $9, $6, 1332 480x11 0x26 0x01 0x4c 49 50# CHECK: bgez $6, 1332 510x04 0xc1 0x01 0x4c 52 53# CHECK: bgezal $6, 1332 540x04 0xd1 0x01 0x4c 55 56# CHECK: bgtz $6, 1332 570x1c 0xc0 0x01 0x4c 58 59# CHECK: blez $6, 1332 600x18 0xc0 0x01 0x4c 61 62# CHECK: bne $9, $6, 1332 630x15 0x26 0x01 0x4c 64 65# CHECK: c.eq.d $f12, $f14 660x46 0x2e 0x60 0x32 67 68# CHECK: c.eq.s $f6, $f7 690x46 0x07 0x30 0x32 70 71# CHECK: c.f.d $f12, $f14 720x46 0x2e 0x60 0x30 73 74# CHECK: c.f.s $f6, $f7 750x46 0x07 0x30 0x30 76 77# CHECK: c.le.d $f12, $f14 780x46 0x2e 0x60 0x3e 79 80# CHECK: c.le.s $f6, $f7 810x46 0x07 0x30 0x3e 82 83# CHECK: c.lt.d $f12, $f14 840x46 0x2e 0x60 0x3c 85 86# CHECK: c.lt.s $f6, $f7 870x46 0x07 0x30 0x3c 88 89# CHECK: c.nge.d $f12, $f14 900x46 0x2e 0x60 0x3d 91 92# CHECK: c.nge.s $f6, $f7 930x46 0x07 0x30 0x3d 94 95# CHECK: c.ngl.d $f12, $f14 960x46 0x2e 0x60 0x3b 97 98# CHECK: c.ngl.s $f6, $f7 990x46 0x07 0x30 0x3b 100 101# CHECK: c.ngle.d $f12, $f14 1020x46 0x2e 0x60 0x39 103 104# CHECK: c.ngle.s $f6, $f7 1050x46 0x07 0x30 0x39 106 107# CHECK: c.ngt.d $f12, $f14 1080x46 0x2e 0x60 0x3f 109 110# CHECK: c.ngt.s $f6, $f7 1110x46 0x07 0x30 0x3f 112 113# CHECK: c.ole.d $f12, $f14 1140x46 0x2e 0x60 0x36 115 116# CHECK: c.ole.s $f6, $f7 1170x46 0x07 0x30 0x36 118 119# CHECK: c.olt.d $f12, $f14 1200x46 0x2e 0x60 0x34 121 122# CHECK: c.olt.s $f6, $f7 1230x46 0x07 0x30 0x34 124 125# CHECK: c.seq.d $f12, $f14 1260x46 0x2e 0x60 0x3a 127 128# CHECK: c.seq.s $f6, $f7 1290x46 0x07 0x30 0x3a 130 131# CHECK: c.sf.d $f12, $f14 1320x46 0x2e 0x60 0x38 133 134# CHECK: c.sf.s $f6, $f7 1350x46 0x07 0x30 0x38 136 137# CHECK: c.ueq.d $f12, $f14 1380x46 0x2e 0x60 0x33 139 140# CHECK: c.ueq.s $f28, $f18 1410x46 0x12 0xe0 0x33 142 143# CHECK: c.ule.d $f12, $f14 1440x46 0x2e 0x60 0x37 145 146# CHECK: c.ule.s $f6, $f7 1470x46 0x07 0x30 0x37 148 149# CHECK: c.ult.d $f12, $f14 1500x46 0x2e 0x60 0x35 151 152# CHECK: c.ult.s $f6, $f7 1530x46 0x07 0x30 0x35 154 155# CHECK: c.un.d $f12, $f14 1560x46 0x2e 0x60 0x31 157 158# CHECK: c.un.s $f6, $f7 1590x46 0x07 0x30 0x31 160 161# CHECK: ceil.w.d $f12, $f14 1620x46 0x20 0x73 0x0e 163 164# CHECK: ceil.w.s $f6, $f7 1650x46 0x00 0x39 0x8e 166 167# CHECK: cfc1 $6, $7 1680x44 0x46 0x38 0x00 169 170# CHECK: clo $6, $7 1710x70 0xe6 0x30 0x21 172 173# CHECK: clz $6, $7 1740x70 0xe6 0x30 0x20 175 176# CHECK: ctc1 $6, $7 1770x44 0xc6 0x38 0x00 178 179# CHECK: cvt.d.s $f6, $f7 1800x46 0x00 0x39 0xa1 181 182# CHECK: cvt.d.w $f12, $f14 1830x46 0x80 0x73 0x21 184 185# CHECK: cvt.s.d $f12, $f14 1860x46 0x20 0x73 0x20 187 188# CHECK: cvt.s.w $f6, $f7 1890x46 0x80 0x39 0xa0 190 191# CHECK: cvt.w.d $f12, $f14 1920x46 0x20 0x73 0x24 193 194# CHECK: cvt.w.s $f6, $f7 1950x46 0x00 0x39 0xa4 196 197# CHECK: floor.w.d $f12, $f14 1980x46 0x20 0x73 0x0f 199 200# CHECK: floor.w.s $f6, $f7 2010x46 0x00 0x39 0x8f 202 203# CHECK: j 1328 2040x08 0x00 0x01 0x4c 205 206# CHECK: jal 1328 2070x0c 0x00 0x01 0x4c 208 209# CHECK: jalx 1328 2100x74 0x00 0x01 0x4c 211 212# CHECK: jalr $7 2130x00 0xe0 0xf8 0x09 214 215# CHECK: jr $7 2160x00 0xe0 0x00 0x08 217 218# CHECK: lb $4, 9158($5) 2190x80 0xa4 0x23 0xc6 220 221# CHECK: lbu $4, 6($5) 2220x90 0xa4 0x00 0x06 223 224# CHECK: ldc1 $f9, 9158($7) 2250xd4 0xe9 0x23 0xc6 226 227# CHECK: lh $4, 12($5) 2280x84 0xa4 0x00 0x0c 229 230# CHECK: lh $4, 12($5) 2310x84 0xa4 0x00 0x0c 232 233# CHECK: ll $9, 9158($7) 2340xc0 0xe9 0x23 0xc6 235 236# CHECK: lui $6, 17767 2370x3c 0x06 0x45 0x67 238 239# CHECK: lw $4, 24($5) 2400x8c 0xa4 0x00 0x18 241 242# CHECK: lwc1 $f9, 9158($7) 2430xc4 0xe9 0x23 0xc6 244 245# CHECK: lwl $2, 3($4) 2460x88 0x82 0x00 0x03 247 248# CHECK: lwr $3, 16($5) 2490x98 0xa3 0x00 0x10 250 251# CHECK: madd $6, $7 2520x70 0xc7 0x00 0x00 253 254# CHECK: maddu $6, $7 2550x70 0xc7 0x00 0x01 256 257# CHECK: mfc1 $6, $f7 2580x44 0x06 0x38 0x00 259 260# CHECK: mfhi $5 2610x00 0x00 0x28 0x10 262 263# CHECK: mflo $5 2640x00 0x00 0x28 0x12 265 266# CHECK: mov.d $f6, $f8 2670x46 0x20 0x41 0x86 268 269# CHECK: mov.s $f6, $f7 2700x46 0x00 0x39 0x86 271 272# CHECK: movf $3, $2, $fcc7 2730x00,0x5c,0x18,0x01 274 275# CHECK: movf.d $f4, $f2, $fcc7 2760x46,0x3c,0x11,0x11 277 278# CHECK: movf.s $f4, $f2, $fcc7 2790x46,0x1c,0x11,0x11 280 281# CHECK: movt $3, $2, $fcc7 2820x00,0x5d,0x18,0x01 283 284# CHECK: movt.d $f4, $f2, $fcc7 2850x46,0x3d,0x11,0x11 286 287# CHECK: movt.s $f4, $f2, $fcc7 2880x46,0x1d,0x11,0x11 289 290# CHECK: msub $6, $7 2910x70 0xc7 0x00 0x04 292 293# CHECK: msubu $6, $7 2940x70 0xc7 0x00 0x05 295 296# CHECK: mtc1 $6, $f7 2970x44 0x86 0x38 0x00 298 299# CHECK: mthi $7 3000x00 0xe0 0x00 0x11 301 302# CHECK: mtlo $7 3030x00 0xe0 0x00 0x13 304 305# CHECK: mul.d $f8, $f12, $f14 3060x46 0x2e 0x62 0x02 307 308# CHECK: mul.s $f9, $f6, $f7 3090x46 0x07 0x32 0x42 310 311# CHECK: mul $9, $6, $7 3120x70 0xc7 0x48 0x02 313 314# CHECK: mult $3, $5 3150x00 0x65 0x00 0x18 316 317# CHECK: multu $3, $5 3180x00 0x65 0x00 0x19 319 320# CHECK: neg.d $f12, $f14 3210x46 0x20 0x73 0x07 322 323# CHECK: neg.s $f6, $f7 3240x46 0x00 0x39 0x87 325 326# CHECK: nop 3270x00 0x00 0x00 0x00 328 329# CHECK: nor $9, $6, $7 3300x00 0xc7 0x48 0x27 331 332# CHECK: or $3, $3, $5 3330x00 0x65 0x18 0x25 334 335# CHECK: ori $9, $6, 17767 3360x34 0xc9 0x45 0x67 337 338# CHECK: round.w.d $f12, $f14 3390x46 0x20 0x73 0x0c 340 341# CHECK: round.w.s $f6, $f7 3420x46 0x00 0x39 0x8c 343 344# CHECK: sb $4, 9158($5) 3450xa0 0xa4 0x23 0xc6 346 347# CHECK: sb $4, 6($5) 3480xa0 0xa4 0x00 0x06 349 350# CHECK: sc $9, 9158($7) 3510xe0 0xe9 0x23 0xc6 352 353# CHECK: sdc1 $f9, 9158($7) 3540xf4 0xe9 0x23 0xc6 355 356# CHECK: sh $4, 9158($5) 3570xa4 0xa4 0x23 0xc6 358 359# CHECK: sll $4, $3, 7 3600x00 0x03 0x21 0xc0 361 362# CHECK: sllv $2, $3, $5 3630x00 0xa3 0x10 0x04 364 365# CHECK: slt $3, $3, $5 3660x00 0x65 0x18 0x2a 367 368# CHECK: slti $3, $3, 103 3690x28 0x63 0x00 0x67 370 371# CHECK: sltiu $3, $3, 103 3720x2c 0x63 0x00 0x67 373 374# CHECK: sltu $3, $3, $5 3750x00 0x65 0x18 0x2b 376 377# CHECK: sqrt.d $f12, $f14 3780x46 0x20 0x73 0x04 379 380# CHECK: sqrt.s $f6, $f7 3810x46 0x00 0x39 0x84 382 383# CHECK: sra $4, $3, 7 3840x00 0x03 0x21 0xc3 385 386# CHECK: srav $2, $3, $5 3870x00 0xa3 0x10 0x07 388 389# CHECK: srl $4, $3, 7 3900x00 0x03 0x21 0xc2 391 392# CHECK: srlv $2, $3, $5 3930x00 0xa3 0x10 0x06 394 395# CHECK: sub.d $f8, $f12, $f14 3960x46 0x2e 0x62 0x01 397 398# CHECK: sub.s $f9, $f6, $f7 3990x46 0x07 0x32 0x41 400 401# CHECK: sub $9, $6, $7 4020x00 0xc7 0x48 0x22 403 404# CHECK: subu $4, $3, $5 4050x00 0x65 0x20 0x23 406 407# CHECK: sw $4, 24($5) 4080xac 0xa4 0x00 0x18 409 410# CHECK: swc1 $f9, 9158($7) 4110xe4 0xe9 0x23 0xc6 412 413# CHECK: swl $4, 16($5) 4140xa8 0xa4 0x00 0x10 415 416# CHECK: swr $6, 16($7) 4170xb8 0xe6 0x00 0x10 418 419# CHECK: sync 7 4200x00 0x00 0x01 0xcf 421 422# CHECK: trunc.w.d $f12, $f14 4230x46 0x20 0x73 0x0d 424 425# CHECK: trunc.w.s $f6, $f7 4260x46 0x00 0x39 0x8d 427 428# CHECK: xor $3, $3, $5 4290x00 0x65 0x18 0x26 430 431# CHECK: xori $9, $6, 17767 4320x38 0xc9 0x45 0x67 433 434# CHECK: .set push 435# CHECK: .set mips32r2 436# CHECK: rdhwr $5, $29 437# CHECK: .set pop 4380x7c 0x05 0xe8 0x3b 439