1# RUN: llvm-mc --disassemble %s -triple=mips64-unknown-linux | FileCheck %s
20x46 0x20 0x73 0x05 # CHECK: abs.d $f12, $f14
30x46 0x00 0x39 0x85 # CHECK: abs.s $f6, $f7
40x00 0xc7 0x48 0x20 # CHECK: add $9, $6, $7
50x46 0x2e 0x62 0x00 # CHECK: add.d $f8, $f12, $f14
60x46 0x07 0x32 0x40 # CHECK: add.s $f9, $f6, $f7
70x20 0xc9 0x45 0x67 # CHECK: addi $9, $6, 17767
80x24 0xc9 0xc5 0x67 # CHECK: addiu $9, $6, -15001
90x00 0xc7 0x48 0x21 # CHECK: addu $9, $6, $7
100x00 0xc7 0x48 0x24 # CHECK: and $9, $6, $7
110x30 0xc9 0x45 0x67 # CHECK: andi $9, $6, 17767
120x10 0x00 0x01 0x4c # CHECK: b 1332
130x45 0x00 0x01 0x4c # CHECK: bc1f 1332
140x45 0x1c 0x01 0x4c # CHECK: bc1f $fcc7, 1332
150x45 0x01 0x01 0x4c # CHECK: bc1t 1332
160x45 0x1d 0x01 0x4c # CHECK: bc1t $fcc7, 1332
170x11 0x26 0x01 0x4c # CHECK: beq $9, $6, 1332
180x04 0xc1 0x01 0x4c # CHECK: bgez $6, 1332
190x04 0xd1 0x01 0x4c # CHECK: bgezal $6, 1332
200x1c 0xc0 0x01 0x4c # CHECK: bgtz $6, 1332
210x18 0xc0 0x01 0x4c # CHECK: blez $6, 1332
220x15 0x26 0x01 0x4c # CHECK: bne $9, $6, 1332
230x46 0x2e 0x60 0x32 # CHECK: c.eq.d $f12, $f14
240x46 0x07 0x30 0x32 # CHECK: c.eq.s $f6, $f7
250x46 0x2e 0x60 0x30 # CHECK: c.f.d $f12, $f14
260x46 0x07 0x30 0x30 # CHECK: c.f.s $f6, $f7
270x46 0x2e 0x60 0x3e # CHECK: c.le.d $f12, $f14
280x46 0x07 0x30 0x3e # CHECK: c.le.s $f6, $f7
290x46 0x2e 0x60 0x3c # CHECK: c.lt.d $f12, $f14
300x46 0x07 0x30 0x3c # CHECK: c.lt.s $f6, $f7
310x46 0x2e 0x60 0x3d # CHECK: c.nge.d $f12, $f14
320x46 0x07 0x30 0x3d # CHECK: c.nge.s $f6, $f7
330x46 0x2e 0x60 0x3b # CHECK: c.ngl.d $f12, $f14
340x46 0x07 0x30 0x3b # CHECK: c.ngl.s $f6, $f7
350x46 0x2e 0x60 0x39 # CHECK: c.ngle.d $f12, $f14
360x46 0x07 0x30 0x39 # CHECK: c.ngle.s $f6, $f7
370x46 0x2e 0x60 0x3f # CHECK: c.ngt.d $f12, $f14
380x46 0x07 0x30 0x3f # CHECK: c.ngt.s $f6, $f7
390x46 0x2e 0x60 0x36 # CHECK: c.ole.d $f12, $f14
400x46 0x07 0x30 0x36 # CHECK: c.ole.s $f6, $f7
410x46 0x2e 0x60 0x34 # CHECK: c.olt.d $f12, $f14
420x46 0x07 0x30 0x34 # CHECK: c.olt.s $f6, $f7
430x46 0x2e 0x60 0x3a # CHECK: c.seq.d $f12, $f14
440x46 0x07 0x30 0x3a # CHECK: c.seq.s $f6, $f7
450x46 0x2e 0x60 0x38 # CHECK: c.sf.d $f12, $f14
460x46 0x07 0x30 0x38 # CHECK: c.sf.s $f6, $f7
470x46 0x2e 0x60 0x33 # CHECK: c.ueq.d $f12, $f14
480x46 0x12 0xe0 0x33 # CHECK: c.ueq.s $f28, $f18
490x46 0x2e 0x60 0x37 # CHECK: c.ule.d $f12, $f14
500x46 0x07 0x30 0x37 # CHECK: c.ule.s $f6, $f7
510x46 0x2e 0x60 0x35 # CHECK: c.ult.d $f12, $f14
520x46 0x07 0x30 0x35 # CHECK: c.ult.s $f6, $f7
530x46 0x2e 0x60 0x31 # CHECK: c.un.d $f12, $f14
540x46 0x07 0x30 0x31 # CHECK: c.un.s $f6, $f7
550x46 0x20 0x73 0x0e # CHECK: ceil.w.d $f12, $f14
560x46 0x00 0x39 0x8e # CHECK: ceil.w.s $f6, $f7
570x46 0x20 0x18 0x4a # CHECK: ceil.l.d $f1, $f3
580x46 0x00 0x6c 0x8a # CHECK: ceil.l.s $f18, $f13
590x44 0x46 0x38 0x00 # CHECK: cfc1 $6, $7
600x70 0xe6 0x30 0x21 # CHECK: clo $6, $7
610x70 0xe6 0x30 0x20 # CHECK: clz $6, $7
620x44 0xc6 0x38 0x00 # CHECK: ctc1 $6, $7
630x46 0x00 0x39 0xa1 # CHECK: cvt.d.s $f6, $f7
640x46 0xa0 0x81 0x21 # CHECK: cvt.d.l $f4, $f16
650x46 0x80 0x73 0x21 # CHECK: cvt.d.w $f12, $f14
660x46 0x20 0x73 0x20 # CHECK: cvt.s.d $f12, $f14
670x46 0xa0 0xf3 0xe0 # CHECK: cvt.s.l $f15, $f30
680x46 0x80 0x39 0xa0 # CHECK: cvt.s.w $f6, $f7
690x46 0x20 0x73 0x24 # CHECK: cvt.w.d $f12, $f14
700x46 0x00 0x39 0xa4 # CHECK: cvt.w.s $f6, $f7
710x00 0x3f 0x98 0x2c # CHECK: dadd $19, $1, $ra
720x62 0x9d 0x93 0xc7 # CHECK: daddi $sp, $20, -27705
730x63 0xbd 0x93 0xc7 # CHECK: daddi $sp, $sp, -27705
740x62 0x9d 0x93 0xc7 # CHECK: daddi $sp, $20, -27705
750x62 0x9d 0x93 0xc7 # CHECK: daddi $sp, $20, -27705
760x63 0xbd 0x93 0xc7 # CHECK: daddi $sp, $sp, -27705
770x66 0xda 0xee 0x16 # CHECK: daddiu $26, $22, -4586
780x00 0x3f 0x98 0x2d # CHECK: daddu $19, $1, $ra
790x64 0x58 0x46 0x9f # CHECK: daddiu $24, $2, 18079
800x66 0x73 0x69 0x3f # CHECK: daddiu $19, $19, 26943
810x70 0xd2 0x90 0x25 # CHECK: dclo $18, $6
820x73 0x30 0x80 0x24 # CHECK: dclz $16, $25
830x03 0x53 0x00 0x1e # CHECK: ddiv $zero, $26, $19
840x02 0x11 0x00 0x1f # CHECK: ddivu $zero, $16, $17
850x44 0x2c 0x68 0x00 # CHECK: dmfc1 $12, $f13
860x44 0xb0 0x70 0x00 # CHECK: dmtc1 $16, $f14
870x02 0xe9 0x00 0x1c # CHECK: dmult $23, $9
880x00 0xa6 0x00 0x1d # CHECK: dmultu $5, $6
890x00 0x00 0x04 0xb8 # CHECK: dsll $zero, $zero, 18
900x00 0x14 0x04 0xb8 # CHECK: dsll $zero, $20, 18
910x01 0x94 0x00 0x14 # CHECK: dsllv $zero, $20, $12
920x00 0x00 0x04 0xbc # CHECK: dsll32 $zero, $zero, 18
930x00 0x00 0x04 0xbc # CHECK: dsll32 $zero, $zero, 18
940x01 0x94 0x00 0x14 # CHECK: dsllv $zero, $20, $12
950x00 0x1c 0xe2 0xbb # CHECK: dsra $gp, $gp, 10
960x00 0x12 0xe2 0xbb # CHECK: dsra $gp, $18, 10
970x02 0x72 0xe0 0x17 # CHECK: dsrav $gp, $18, $19
980x00 0x1c 0xe2 0xbf # CHECK: dsra32 $gp, $gp, 10
990x00 0x12 0xe2 0xbf # CHECK: dsra32 $gp, $18, 10
1000x02 0x72 0xe0 0x17 # CHECK: dsrav $gp, $18, $19
1010x00 0x13 0x9d 0xfa # CHECK: dsrl $19, $19, 23
1020x00 0x06 0x9d 0xfa # CHECK: dsrl $19, $6, 23
1030x02 0x86 0x98 0x16 # CHECK: dsrlv $19, $6, $20
1040x00 0x13 0x9d 0xfe # CHECK: dsrl32 $19, $19, 23
1050x00 0x06 0x9d 0xfe # CHECK: dsrl32 $19, $6, 23
1060x02 0x86 0x98 0x16 # CHECK: dsrlv $19, $6, $20
1070x02 0xc8 0x38 0x2e # CHECK: dsub $7, $22, $8
1080x62 0x9d 0x6c 0x39 # CHECK: daddi $sp, $20, 27705
1090x63 0xbd 0x6c 0x39 # CHECK: daddi $sp, $sp, 27705
1100x00 0xba 0x28 0x2f # CHECK: dsubu $5, $5, $26
1110x65 0x6f 0xec 0x5f # CHECK: daddiu $15, $11, -5025
1120x65 0xce 0x11 0xea # CHECK: daddiu $14, $14, 4586
1130x46 0x20 0x3e 0x8b # CHECK: floor.l.d $f26, $f7
1140x46 0x00 0x2b 0x0b # CHECK: floor.l.s $f12, $f5
1150x46 0x20 0x73 0x0f # CHECK: floor.w.d $f12, $f14
1160x46 0x00 0x39 0x8f # CHECK: floor.w.s $f6, $f7
1170x08 0x00 0x01 0x4c # CHECK: j 1328
1180x0c 0x00 0x01 0x4c # CHECK: jal 1328
1190x74 0x00 0x01 0x4c # CHECK: jalx 1328
1200x00 0xe0 0xf8 0x09 # CHECK: jalr $7
1210x00 0x80 0xfc 0x09 # CHECK: jalr.hb $4
1220x00 0xa0 0x24 0x09 # CHECK: jalr.hb $4, $5
1230x00 0xe0 0x00 0x08 # CHECK: jr $7
1240x80 0xa4 0x23 0xc6 # CHECK: lb $4, 9158($5)
1250x90 0xa4 0x00 0x06 # CHECK: lbu $4, 6($5)
1260xd4 0xe9 0x23 0xc6 # CHECK: ldc1 $f9, 9158($7)
1270xde 0x3d 0x90 0x1b # CHECK: ld $sp, -28645($17)
1280x6b 0x18 0xef 0xb9 # CHECK: ldl $24, -4167($24)
1290x6e 0x8e 0x89 0x6a # CHECK: ldr $14, -30358($20)
1300x4d 0xf7 0x02 0x01 # CHECK: ldxc1 $f8, $23($15)
1310x84 0xa4 0x00 0x0c # CHECK: lh $4, 12($5)
1320x84 0xa4 0x00 0x0c # CHECK: lh $4, 12($5)
1330xc0 0xe9 0x23 0xc6 # CHECK: ll $9, 9158($7)
1340xd3 0xe0 0xc6 0x70 # CHECK: lld $zero, -14736($ra)
1350x3c 0x06 0x45 0x67 # CHECK: lui $6, 17767
1360x4e 0xb6 0x04 0xc5 # CHECK: luxc1 $f19, $22($21)
1370x9c 0x73 0xa1 0xea # CHECK: lwu $19, -24086($3)
1380x4f 0xd1 0x03 0x00 # CHECK: lwxc1 $f12, $17($fp)
1390x8c 0xa4 0x00 0x18 # CHECK: lw $4, 24($5)
1400xc4 0xe9 0x23 0xc6 # CHECK: lwc1 $f9, 9158($7)
1410x88 0x82 0x00 0x03 # CHECK: lwl $2, 3($4)
1420x98 0xa3 0x00 0x10 # CHECK: lwr $3, 16($5)
1430x70 0xc7 0x00 0x00 # CHECK: madd $6, $7
1440x70 0xc7 0x00 0x01 # CHECK: maddu $6, $7
1450x44 0x06 0x38 0x00 # CHECK: mfc1 $6, $f7
1460x00 0x00 0x28 0x10 # CHECK: mfhi $5
1470x00 0x00 0x28 0x12 # CHECK: mflo $5
1480x46 0x20 0x41 0x86 # CHECK: mov.d $f6, $f8
1490x46 0x00 0x39 0x86 # CHECK: mov.s $f6, $f7
1500x70 0xc7 0x00 0x04 # CHECK: msub $6, $7
1510x70 0xc7 0x00 0x05 # CHECK: msubu $6, $7
1520x44 0x86 0x38 0x00 # CHECK: mtc1 $6, $f7
1530x00 0xe0 0x00 0x11 # CHECK: mthi $7
1540x00 0xe0 0x00 0x13 # CHECK: mtlo $7
1550x46 0x2e 0x62 0x02 # CHECK: mul.d $f8, $f12, $f14
1560x46 0x07 0x32 0x42 # CHECK: mul.s $f9, $f6, $f7
1570x70 0xc7 0x48 0x02 # CHECK: mul $9, $6, $7
1580x00 0x65 0x00 0x18 # CHECK: mult $3, $5
1590x00 0x65 0x00 0x19 # CHECK: multu $3, $5
1600x46 0x20 0x73 0x07 # CHECK: neg.d $f12, $f14
1610x46 0x00 0x39 0x87 # CHECK: neg.s $f6, $f7
1620x00 0x00 0x00 0x00 # CHECK: nop
1630x00 0xc7 0x48 0x27 # CHECK: nor $9, $6, $7
1640x00 0x65 0x18 0x25 # CHECK: or $3, $3, $5
1650x34 0xc9 0x45 0x67 # CHECK: ori $9, $6, 17767
1660x46 0x20 0x0b 0x08 # CHECK: round.l.d $f12, $f1
1670x46 0x00 0x2e 0x48 # CHECK: round.l.s $f25, $f5
1680x46 0x20 0x73 0x0c # CHECK: round.w.d $f12, $f14
1690x46 0x00 0x39 0x8c # CHECK: round.w.s $f6, $f7
1700xa0 0xa4 0x23 0xc6 # CHECK: sb $4, 9158($5)
1710xa0 0xa4 0x00 0x06 # CHECK: sb $4, 6($5)
1720xe0 0xe9 0x23 0xc6 # CHECK: sc $9, 9158($7)
1730xf3 0xaf 0xdf 0xcd # CHECK: scd $15, -8243($sp)
1740xfd 0x4c 0x16 0xcb # CHECK: sd $12, 5835($10)
1750xf4 0xe9 0x23 0xc6 # CHECK: sdc1 $f9, 9158($7)
1760xb3 0xc7 0xae 0x1f # CHECK: sdl $7, -20961($fp)
1770xb5 0x8b 0xb0 0x39 # CHECK: sdr $11, -20423($12)
1780x4d 0xca 0x58 0x09 # CHECK: sdxc1 $f11, $10($14)
1790xa4 0xa4 0x23 0xc6 # CHECK: sh $4, 9158($5)
1800x00 0x03 0x21 0xc0 # CHECK: sll $4, $3, 7
1810x00 0xa3 0x10 0x04 # CHECK: sllv $2, $3, $5
1820x00 0x65 0x18 0x2a # CHECK: slt $3, $3, $5
1830x28 0x63 0x00 0x67 # CHECK: slti $3, $3, 103
1840x2c 0x63 0x00 0x67 # CHECK: sltiu $3, $3, 103
1850x00 0x65 0x18 0x2b # CHECK: sltu $3, $3, $5
1860x46 0x20 0x73 0x04 # CHECK: sqrt.d $f12, $f14
1870x46 0x00 0x39 0x84 # CHECK: sqrt.s $f6, $f7
1880x00 0x03 0x21 0xc3 # CHECK: sra $4, $3, 7
1890x00 0xa3 0x10 0x07 # CHECK: srav $2, $3, $5
1900x00 0x03 0x21 0xc2 # CHECK: srl $4, $3, 7
1910x00 0xa3 0x10 0x06 # CHECK: srlv $2, $3, $5
1920x46 0x2e 0x62 0x01 # CHECK: sub.d $f8, $f12, $f14
1930x46 0x07 0x32 0x41 # CHECK: sub.s $f9, $f6, $f7
1940x00 0xc7 0x48 0x22 # CHECK: sub $9, $6, $7
1950x00 0x65 0x20 0x23 # CHECK: subu $4, $3, $5
1960xac 0xa4 0x00 0x18 # CHECK: sw $4, 24($5)
1970xe4 0xe9 0x23 0xc6 # CHECK: swc1 $f9, 9158($7)
1980x4d 0xbb 0x60 0x0d # CHECK: suxc1 $f12, $27($13)
1990x4f 0x4c 0x98 0x08 # CHECK: swxc1 $f19, $12($26)
2000xa8 0xa4 0x00 0x10 # CHECK: swl $4, 16($5)
2010xb8 0xe6 0x00 0x10 # CHECK: swr $6, 16($7)
2020x00 0x00 0x01 0xcf # CHECK: sync 7
2030x46 0x20 0xbd 0xc9 # CHECK: trunc.l.d $f23, $f23
2040x46 0x00 0xff 0x09 # CHECK: trunc.l.s $f28, $f31
2050x46 0x20 0x73 0x0d # CHECK: trunc.w.d $f12, $f14
2060x46 0x00 0x39 0x8d # CHECK: trunc.w.s $f6, $f7
2070x00 0x65 0x18 0x26 # CHECK: xor $3, $3, $5
2080x38 0xc9 0x45 0x67 # CHECK: xori $9, $6, 17767
2090x7c 0x05 0xe8 0x3b # CHECK: .set push
210                    # CHECK: .set mips32r2
211                    # CHECK: rdhwr $5, $29
212                    # CHECK: .set pop
2130xbc 0x61 0x00 0x02 # CHECK: cache 1, 2($3)
2140xcc 0x43 0x00 0x04 # CHECK: pref 3, 4($2)
2150xe8 0xe9 0x23 0xc6 # CHECK: swc2 $9, 9158($7)
2160xc8 0xc8 0x23 0xca # CHECK: lwc2 $8, 9162($6)
217