# format of a line in this file: # # # is given by specifying one or more range/value pairs: # highbit..lowbit=value (e.g. 31..25=0x45 14..12=0x0) # # follows the conventions in xcc/src/opcodes/mips-opc.c unimp 31..0=0 j 31..27=0x18 imm27 # opcodes 0x60-0x64 jal 31..27=0x19 imm27 # opcodes 0x64-0x68 lui 31..25=0x71 ra imm20 slori 31..25=0x72 ra imm20 beq 31..25=0x73 14..12=0 ra rb imm bne 31..25=0x73 14..12=1 ra rb imm blt 31..25=0x73 14..12=2 ra rb imm bltu 31..25=0x73 14..12=3 ra rb imm ble 31..25=0x73 14..12=4 ra rb imm bleu 31..25=0x73 14..12=5 ra rb imm addi 31..25=0x74 14..12=0 ra rb imm addiw 31..25=0x74 14..12=1 ra rb imm slti 31..25=0x74 14..12=2 ra rb imm sltiu 31..25=0x74 14..12=3 ra rb imm andi 31..25=0x74 14..12=4 ra rb imm ori 31..25=0x74 14..12=5 ra rb imm xori 31..25=0x74 14..12=6 ra rb imm add 31..25=0x75 14..12=0 11..5=0 rc rb ra sub 31..25=0x75 14..12=0 11..5=1 rc rb ra slt 31..25=0x75 14..12=0 11..5=2 rc rb ra sltu 31..25=0x75 14..12=0 11..5=3 rc rb ra and 31..25=0x75 14..12=0 11..5=4 rc rb ra or 31..25=0x75 14..12=0 11..5=5 rc rb ra xor 31..25=0x75 14..12=0 11..5=6 rc rb ra nor 31..25=0x75 14..12=0 11..5=7 rc rb ra mul 31..25=0x75 14..12=1 11..5=0 rc rb ra mulh 31..25=0x75 14..12=1 11..5=2 rc rb ra mulhu 31..25=0x75 14..12=1 11..5=3 rc rb ra div 31..25=0x75 14..12=1 11..5=4 rc rb ra divu 31..25=0x75 14..12=1 11..5=5 rc rb ra rem 31..25=0x75 14..12=1 11..5=6 rc rb ra remu 31..25=0x75 14..12=1 11..5=7 rc rb ra sllv 31..25=0x75 14..12=4 11..5=1 rc rb ra srlv 31..25=0x75 14..12=4 11..5=2 rc rb ra srav 31..25=0x75 14..12=4 11..5=3 rc rb ra sll 31..25=0x75 14..12=5 11=0 24..20=0 rc rb shamt srl 31..25=0x75 14..12=6 11=0 24..20=0 rc rb shamt sra 31..25=0x75 14..12=7 11=0 24..20=0 rc rb shamt addw 31..25=0x76 14..12=0 11..5=0 rc rb ra subw 31..25=0x76 14..12=0 11..5=1 rc rb ra mulw 31..25=0x76 14..12=1 11..5=0 rc rb ra mulhw 31..25=0x76 14..12=1 11..5=2 rc rb ra mulhuw 31..25=0x76 14..12=1 11..5=3 rc rb ra divw 31..25=0x76 14..12=1 11..5=4 rc rb ra divuw 31..25=0x76 14..12=1 11..5=5 rc rb ra remw 31..25=0x76 14..12=1 11..5=6 rc rb ra remuw 31..25=0x76 14..12=1 11..5=7 rc rb ra sllvw 31..25=0x76 14..12=4 11..5=1 rc rb ra srlvw 31..25=0x76 14..12=4 11..5=2 rc rb ra sravw 31..25=0x76 14..12=4 11..5=3 rc rb ra sllw 31..25=0x76 14..12=5 11..10=0 24..20=0 rc rb shamtw srlw 31..25=0x76 14..12=6 11..10=0 24..20=0 rc rb shamtw sraw 31..25=0x76 14..12=7 11..10=0 24..20=0 rc rb shamtw lb 31..25=0x78 14..12=0 rb ra imm lh 31..25=0x78 14..12=1 rb ra imm lw 31..25=0x78 14..12=2 rb ra imm ld 31..25=0x78 14..12=3 rb ra imm lbu 31..25=0x78 14..12=4 rb ra imm lhu 31..25=0x78 14..12=5 rb ra imm lwu 31..25=0x78 14..12=6 rb ra imm synci 31..25=0x78 14..12=7 24..20=0 rb imm sb 31..25=0x79 14..12=0 rb ra imm sh 31..25=0x79 14..12=1 rb ra imm sw 31..25=0x79 14..12=2 rb ra imm sd 31..25=0x79 14..12=3 rb ra imm l.s 31..25=0x79 14..12=4 rb ra imm l.d 31..25=0x79 14..12=5 rb ra imm s.s 31..25=0x79 14..12=6 rb ra imm s.d 31..25=0x79 14..12=7 rb ra imm jalr.c 31..25=0x7B 19..15=0 14..12=0 11..5=0 ra rc jalr.r 31..25=0x7B 19..15=0 14..12=0 11..5=1 ra rc jalr.j 31..25=0x7B 19..15=0 14..12=0 11..5=2 ra rc rdpc 31..25=0x7B 24..15=0 14..12=1 11..5=0 rc rdhwr 31..25=0x7B 19..15=0 14..12=2 11..5=0 rc ra sync 31..25=0x7B 24..15=0 14..12=3 11..0=0 syscall 31..25=0x7B 24..15=0 14..12=4 11..0=0 break 31..25=0x7B 24..15=0 14..12=5 11..0=0 ei 31..25=0x7E 14..12=0 19..15=0 11..0=0 ra di 31..25=0x7E 14..12=1 19..15=0 11..0=0 ra eret 31..25=0x7E 14..12=2 24..15=0 11..0=0 mfpcr 31..25=0x7E 14..12=4 11..0=0 ra rb mwfpcr 31..25=0x7E 14..12=5 11..0=0 ra rb mtpcr 31..25=0x7E 14..12=6 11..0=0 ra rb mwtpcr 31..25=0x7E 14..12=7 11..0=0 ra rb # 0x7F is reserved for 64-bit-long instructions add.fmt 31..25=0x68 14..12=0 11..10=0 rc rb ra fmt sub.fmt 31..25=0x68 14..12=1 11..10=0 rc rb ra fmt mul.fmt 31..25=0x68 14..12=2 11..10=0 rc rb ra fmt div.fmt 31..25=0x68 14..12=3 11..10=0 rc rb ra fmt sqrt.fmt 31..25=0x68 14..12=4 19..15=0 11..10=0 rc ra fmt abs.fmt 31..25=0x68 14..12=5 19..15=0 11..10=0 rc ra fmt mov.fmt 31..25=0x68 14..12=6 19..15=0 11..10=0 rc ra fmt neg.fmt 31..25=0x68 14..12=7 19..15=0 11..10=0 rc ra fmt round.l.fmt 31..25=0x69 14..12=0 19..15=0 11..10=0 rc ra fmt trunc.l.fmt 31..25=0x69 14..12=1 19..15=0 11..10=0 rc ra fmt ceil.l.fmt 31..25=0x69 14..12=2 19..15=0 11..10=0 rc ra fmt floor.l.fmt 31..25=0x69 14..12=3 19..15=0 11..10=0 rc ra fmt round.w.fmt 31..25=0x69 14..12=4 19..15=0 11..10=0 rc ra fmt trunc.w.fmt 31..25=0x69 14..12=5 19..15=0 11..10=0 rc ra fmt ceil.w.fmt 31..25=0x69 14..12=6 19..15=0 11..10=0 rc ra fmt floor.w.fmt 31..25=0x69 14..12=7 19..15=0 11..10=0 rc ra fmt mff.s 31..25=0x6A 14..12=0 11..0=0 ra rb mff.d 31..25=0x6A 14..12=1 11..0=0 ra rb cfc1 31..25=0x6A 14..12=2 11..0=0 ra rb mtf.s 31..25=0x6A 14..12=4 11..0=0 ra rb mtf.d 31..25=0x6A 14..12=5 11..0=0 ra rb ctc1 31..25=0x6A 14..12=6 11..0=0 ra rb cvt.s.fmt 31..25=0x6B 14..12=0 19..15=0 11..10=0 rc ra fmt cvt.d.fmt 31..25=0x6B 14..12=1 19..15=0 11..10=0 rc ra fmt cvt.w.fmt 31..25=0x6B 14..12=4 19..15=0 11..10=0 rc ra fmt cvt.l.fmt 31..25=0x6B 14..12=5 19..15=0 11..10=0 rc ra fmt c.f.fmt 31..25=0x6C 14..12=0 11..10=0 rc rb ra fmt c.un.fmt 31..25=0x6C 14..12=1 11..10=0 rc rb ra fmt c.eq.fmt 31..25=0x6C 14..12=2 11..10=0 rc rb ra fmt c.ueq.fmt 31..25=0x6C 14..12=3 11..10=0 rc rb ra fmt c.olt.fmt 31..25=0x6C 14..12=4 11..10=0 rc rb ra fmt c.ult.fmt 31..25=0x6C 14..12=5 11..10=0 rc rb ra fmt c.ole.fmt 31..25=0x6C 14..12=6 11..10=0 rc rb ra fmt c.ule.fmt 31..25=0x6C 14..12=7 11..10=0 rc rb ra fmt c.sf.fmt 31..25=0x6D 14..12=0 11..10=0 rc rb ra fmt c.ngle.fmt 31..25=0x6D 14..12=1 11..10=0 rc rb ra fmt c.seq.fmt 31..25=0x6D 14..12=2 11..10=0 rc rb ra fmt c.ngl.fmt 31..25=0x6D 14..12=3 11..10=0 rc rb ra fmt c.lt.fmt 31..25=0x6D 14..12=4 11..10=0 rc rb ra fmt c.nge.fmt 31..25=0x6D 14..12=5 11..10=0 rc rb ra fmt c.le.fmt 31..25=0x6D 14..12=6 11..10=0 rc rb ra fmt c.ngt.fmt 31..25=0x6D 14..12=7 11..10=0 rc rb ra fmt