# RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux

# CHECK: abs.d $f12,$f14
0x46 0x20 0x39 0x85

# CHECK: abs.s $f6,$f7
0x46 0x00 0x39 0x85

# CHECK: add t1,a2,a3
0x00 0xc7 0x48 0x20

# CHECK: add.d $f18,$f12,$f14
0x46 0x27 0x32 0x40

# CHECK: add.s $f9,$f6,$f7
0x46 0x07 0x32 0x40

# CHECK: addi t1,a2,17767
0x20 0xc9 0x45 0x67

# CHECK: addiu t1,a2,-15001
0x24 0xc9 0xc5 0x67

# CHECK: addu t1,a2,a3
0x00 0xc7 0x48 0x21

# CHECK: and t1,a2,a3
0x00 0xc7 0x48 0x24

# CHECK: andi t1,a2,0x4567
0x30 0xc9 0x45 0x67

# CHECK: b 00000534
0x10 0x00 0x01 0x4c

# CHECK: bal 00000534
0x04 0x11 0x01 0x4c

# CHECK: bc1f 00000534
0x45 0x00 0x01 0x4c

# CHECK: bc1t 00000534
0x45 0x01 0x01 0x4c

# CHECK: beq t1,a2,00000534
0x11 0x26 0x01 0x4c

# CHECK: bgez a2,00000534
0x04 0xc1 0x01 0x4c

# CHECK: bgezal a2,00000534
0x04 0xd1 0x01 0x4c

# CHECK: bgtz a2,00000534
0x1c 0xc0 0x01 0x4c

# CHECK: blez a2,00000534
0x18 0xc0 0x01 0x4c

# CHECK: bne t1,a2,00000534
0x15 0x26 0x01 0x4c

# CHECK: c.eq.d $f12,$f14
0x46 0x27 0x30 0x32

# CHECK: c.eq.s $f6,$f7
0x46 0x07 0x30 0x32

# CHECK: c.f.d $f12,$f14
0x46 0x27 0x30 0x30

# CHECK: c.f.s $f6,$f7
0x46 0x07 0x30 0x30

# CHECK: c.le.d $f12,$f14
0x46 0x27 0x30 0x3e

# CHECK: c.le.s $f6,$f7
0x46 0x07 0x30 0x3e

# CHECK: c.lt.d $f12,$f14
0x46 0x27 0x30 0x3c

# CHECK: c.lt.s $f6,$f7
0x46 0x07 0x30 0x3c

# CHECK: c.nge.d $f12,$f14
0x46 0x27 0x30 0x3d

# CHECK: c.nge.s $f6,$f7
0x46 0x07 0x30 0x3d

# CHECK: c.ngl.d $f12,$f14
0x46 0x27 0x30 0x3b

# CHECK: c.ngl.s $f6,$f7
0x46 0x07 0x30 0x3b

# CHECK: c.ngle.d $f12,$f14
0x46 0x27 0x30 0x39

# CHECK: c.ngle.s $f6,$f7
0x46 0x07 0x30 0x39

# CHECK: c.ngt.d $f12,$f14
0x46 0x27 0x30 0x3f

# CHECK: c.ngt.s $f6,$f7
0x46 0x07 0x30 0x3f

# CHECK: c.ole.d $f12,$f14
0x46 0x27 0x30 0x36

# CHECK: c.ole.s $f6,$f7
0x46 0x07 0x30 0x36

# CHECK: c.olt.d $f12,$f14
0x46 0x27 0x30 0x34

# CHECK: c.olt.s $f6,$f7
0x46 0x07 0x30 0x34

# CHECK: c.seq.d $f12,$f14
0x46 0x27 0x30 0x3a

# CHECK: c.seq.s $f6,$f7
0x46 0x07 0x30 0x3a

# CHECK: c.sf.d $f12,$f14
0x46 0x27 0x30 0x38

# CHECK: c.sf.s $f6,$f7
0x46 0x07 0x30 0x38

# CHECK: c.ueq.d $f12,$f14
0x46 0x27 0x30 0x33

# CHECK: c.ueq.s $f28,$f18
0x46 0x12 0xe0 0x33

# CHECK: c.ule.d $f12,$f14
0x46 0x27 0x30 0x37

# CHECK: c.ule.s $f6,$f7
0x46 0x07 0x30 0x37

# CHECK: c.ult.d $f12,$f14
0x46 0x27 0x30 0x35

# CHECK: c.ult.s $f6,$f7
0x46 0x07 0x30 0x35

# CHECK: c.un.d $f12,$f14
0x46 0x27 0x30 0x31

# CHECK: c.un.s $f6,$f7
0x46 0x07 0x30 0x31

# CHECK: ceil.w.d $f12,$f14
0x46 0x20 0x39 0x8e

# CHECK: ceil.w.s $f6,$f7
0x46 0x00 0x39 0x8e

# CHECK: cfc1 a2,$7
0x44 0x46 0x38 0x00

# CHECK: clo a2,a3
0x70 0xe6 0x30 0x21

# CHECK: clz a2,a3
0x70 0xe6 0x30 0x20

# CHECK: ctc1 a2,$7
0x44 0xc6 0x38 0x00

# CHECK: cvt.d.s $f6,$f7
0x46 0x00 0x38 0xa1

# CHECK: cvt.d.w $f12,$f14
0x46 0x80 0x38 0xa1

# CHECK: cvt.l.d $f12,$f14
0x46 0x20 0x39 0xa5

# CHECK: cvt.l.s $f6,$f7
0x46 0x00 0x39 0xa5

# CHECK: cvt.s.d $f12,$f14
0x46 0x20 0x39 0xa0

# CHECK: cvt.s.w $f6,$f7
0x46 0x80 0x39 0xa0

# CHECK: cvt.w.d $f12,$f14
0x46 0x20 0x39 0xa4

# CHECK: cvt.w.s $f6,$f7
0x46 0x00 0x39 0xa4

# CHECK: floor.w.d $f12,$f14
0x46 0x20 0x39 0x8f

# CHECK: floor.w.s $f6,$f7
0x46 0x00 0x39 0x8f

# CHECK: j 00000530
0x08 0x00 0x01 0x4c

# CHECK: jal 00000530
0x0c 0x00 0x01 0x4c

# CHECK: jalr a2,a3
0x00 0xe0 0xf8 0x09

# CHECK: jr a3
0x00 0xe0 0x00 0x08

# CHECK: lb  a0,9158(a1)
0x80 0xa4 0x23 0xc6

# CHECK: lbu a0,6(a1)
0x90 0xa4 0x00 0x06

# CHECK: ldc1  $f9,9158(a3)
0xd4 0xe9 0x23 0xc6

# CHECK: lh  a0,12(a1)
0x84 0xa4 0x00 0x0c

# CHECK: lh  a0,12(a1)
0x84 0xa4 0x00 0x0c

# CHECK: li  v1,17767
0x24 0x03 0x45 0x67

# CHECK: ll  t1,9158(a3)
0xc0 0xe9 0x23 0xc6

# CHECK: lui a2,0x4567
0x3c 0x06 0x45 0x67

# CHECK: lw  a0,24(a1)
0x8c 0xa4 0x00 0x18

# CHECK: lwc1  $f9,9158(a3)
0xc4 0xe9 0x23 0xc6

# CHECK: madd  a2,a3
0x70 0xc7 0x00 0x00

# CHECK: maddu a2,a3
0x70 0xc7 0x00 0x01

# CHECK: mfc1  a2,$f7
0x44 0x06 0x38 0x00

# CHECK: mfhi  a1
0x00 0x00 0x28 0x10

# CHECK: mflo  a1
0x00 0x00 0x28 0x12

# CHECK: mov.d $f6,$f7
0x46 0x20 0x39 0x86

# CHECK: mov.s $f6,$f7
0x46 0x00 0x39 0x86

# CHECK: move  a2,a1
0x00 0xa0 0x30 0x21

# CHECK: msub  a2,a3
0x70 0xc7 0x00 0x04

# CHECK: msubu a2,a3
0x70 0xc7 0x00 0x05

# CHECK: mtc1  a2,$f7
0x44 0x86 0x38 0x00

# CHECK: mthi  a3
0x00 0xe0 0x00 0x11

# CHECK: mtlo  a3
0x00 0xe0 0x00 0x13

# CHECK: mul.d $f9,$f12,$f14
0x46 0x27 0x32 0x42

# CHECK: mul.s $f9,$f6,$f7
0x46 0x07 0x32 0x42

# CHECK: mul t1,a2,a3
0x70 0xc7 0x48 0x02

# CHECK: mult  v1,a1
0x00 0x65 0x00 0x18

# CHECK: multu v1,a1
0x00 0x65 0x00 0x19

# CHECK: neg.d $f12,$f14
0x46 0x20 0x39 0x87

# CHECK: neg.s $f6,$f7
0x46 0x00 0x39 0x87

# CHECK: neg v1,a1
0x00 0x05 0x18 0x22

# CHECK: nop
0x00 0x00 0x00 0x00

# CHECK: nor t1,a2,a3
0x00 0xc7 0x48 0x27

# CHECK: not v1,a1
0x00 0xa0 0x18 0x27

# CHECK: or  v1,v1,a1
0x00 0x65 0x18 0x25

# CHECK: ori t1,a2,0x4567
0x34 0xc9 0x45 0x67

# CHECK: rdhwr a2,$29
0x7c 0x06 0xe8 0x3b

# CHECK: round.w.d $f12,$f14
0x46 0x20 0x39 0x8c

# CHECK: round.w.s $f6,$f7
0x46 0x00 0x39 0x8c

# CHECK: sb  a0,9158(a1)
0xa0 0xa4 0x23 0xc6

# CHECK: sb  a0,6(a1)
0xa0 0xa4 0x00 0x06

# CHECK: sc  t1,9158(a3)
0xe0 0xe9 0x23 0xc6

# CHECK: sdc1  $f9,9158(a3)
0xf4 0xe9 0x23 0xc6

# CHECK: sh  a0,9158(a1)
0xa4 0xa4 0x23 0xc6

# CHECK: sll a0,v1,0x7
0x00 0x03 0x21 0xc0

# CHECK: sllv  v0,v1,a1
0x00 0xa3 0x10 0x04

# CHECK: slt v1,v1,a1
0x00 0x65 0x18 0x2a

# CHECK: slti  v1,v1,103
0x28 0x63 0x00 0x67

# CHECK: sltiu v1,v1,103
0x2c 0x63 0x00 0x67

# CHECK: sltu  v1,v1,a1
0x00 0x65 0x18 0x2b

# CHECK: sqrt.d  $f12,$f14
0x46 0x20 0x39 0x84

# CHECK: sqrt.s  $f6,$f7
0x46 0x00 0x39 0x84

# CHECK: sra a0,v1,0x7
0x00 0x03 0x21 0xc3

# CHECK: sra a0,v1,0x7
0x00 0x03 0x21 0xc3

# CHECK: srav  v0,v1,a1
0x00 0xa3 0x10 0x07

# CHECK: srl a0,v1,0x7
0x00 0x03 0x21 0xc2

# CHECK: srlv  v0,v1,a1
0x00 0xa3 0x10 0x06

# CHECK: sub.d $f9,$f12,$f14
0x46 0x27 0x32 0x41

# CHECK: sub.s $f9,$f6,$f7
0x46 0x07 0x32 0x41

# CHECK: sub t1,a2,a3
0x00 0xc7 0x48 0x22

# CHECK: subu  a0,v1,a1
0x00 0x65 0x20 0x23

# CHECK: sw  a0,24(a1)
0xac 0xa4 0x00 0x18

# CHECK: swc1  $f9,9158(a3)
0xe4 0xe9 0x23 0xc6

# CHECK: sync  0x7
0x00 0x00 0x01 0xcf

# CHECK: trunc.w.d $f12,$f14
0x46 0x20 0x39 0x8d

# CHECK: trunc.w.s $f6,$f7
0x46 0x00 0x39 0x8d

# CHECK: xor v1,v1,a1
0x00 0x65 0x18 0x26

# CHECK: xori  t1,a2,0x4567
0x38 0xc9 0x45 0x67
