636 {RT_OneInstr, OpCodes(Mips::ADDiu, Mips::ADDIUR1SP_MM),
639 OpInfo(OT_Operand2), ImmField(0, 0, 0, 2)},
640 {RT_OneInstr, OpCodes(Mips::ADDiu_MM, Mips::ADDIUR1SP_MM),
642 {RT_OneInstr, OpCodes(Mips::ADDiu_MM, Mips::ADDIUSP_MM),
644 {RT_OneInstr, OpCodes(Mips::ADDu, Mips::ADDU16_MM),
646 ImmField(0, 0, 0, -1)},
647 {RT_OneInstr, OpCodes(Mips::ADDu_MM, Mips::ADDU16_MM),
649 ImmField(0, 0, 0, -1)},
651 OpInfo(OT_OperandsAll), ImmField(0, -1, 15, 2)},
653 OpInfo(OT_OperandsAll), ImmField(0, -1, 15, 2)},
654 {RT_OneInstr, OpCodes(Mips::LEA_ADDiu, Mips::ADDIUR1SP_MM),
656 {RT_OneInstr, OpCodes(Mips::LEA_ADDiu_MM, Mips::ADDIUR1SP_MM),
659 OpInfo(OT_OperandsAll), ImmField(1, 0, 16, 2)},
661 OpInfo(OT_OperandsAll), ImmField(1, 0, 16, 2)},
662 {RT_TwoInstr, OpCodes(Mips::LW, Mips::LWP_MM),
ReduceXWtoXWP,
663 OpInfo(OT_OperandsLwp), ImmField(0, -2048, 2048, 2)},
665 OpInfo(OT_OperandsAll), ImmField(2, 0, 32, 2)},
666 {RT_TwoInstr, OpCodes(Mips::LW16_MM, Mips::LWP_MM),
ReduceXWtoXWP,
667 OpInfo(OT_OperandsLwp), ImmField(0, -2048, 2048, 2)},
668 {RT_TwoInstr, OpCodes(Mips::LW_MM, Mips::LWP_MM),
ReduceXWtoXWP,
669 OpInfo(OT_OperandsLwp), ImmField(0, -2048, 2048, 2)},
670 {RT_OneInstr, OpCodes(Mips::LW_MM, Mips::LWSP_MM),
ReduceXWtoXWSP,
671 OpInfo(OT_OperandsAll), ImmField(2, 0, 32, 2)},
673 OpInfo(OT_OperandsMovep), ImmField(0, 0, 0, -1)},
675 OpInfo(OT_OperandsAll), ImmField(0, 0, 16, 2)},
676 {RT_OneInstr, OpCodes(Mips::SB_MM, Mips::SB16_MM),
ReduceSXtoSX16,
677 OpInfo(OT_OperandsAll), ImmField(0, 0, 16, 2)},
679 OpInfo(OT_OperandsAll), ImmField(1, 0, 16, 2)},
680 {RT_OneInstr, OpCodes(Mips::SH_MM, Mips::SH16_MM),
ReduceSXtoSX16,
681 OpInfo(OT_OperandsAll), ImmField(1, 0, 16, 2)},
682 {RT_OneInstr, OpCodes(Mips::SUBu, Mips::SUBU16_MM),
684 ImmField(0, 0, 0, -1)},
685 {RT_OneInstr, OpCodes(Mips::SUBu_MM, Mips::SUBU16_MM),
687 ImmField(0, 0, 0, -1)},
688 {RT_TwoInstr, OpCodes(Mips::SW, Mips::SWP_MM),
ReduceXWtoXWP,
689 OpInfo(OT_OperandsSwp), ImmField(0, -2048, 2048, 2)},
691 OpInfo(OT_OperandsAll), ImmField(2, 0, 32, 2)},
692 {RT_TwoInstr, OpCodes(Mips::SW16_MM, Mips::SWP_MM),
ReduceXWtoXWP,
693 OpInfo(OT_OperandsSwp), ImmField(0, -2048, 2048, 2)},
694 {RT_TwoInstr, OpCodes(Mips::SW_MM, Mips::SWP_MM),
ReduceXWtoXWP,
695 OpInfo(OT_OperandsSwp), ImmField(0, -2048, 2048, 2)},
696 {RT_OneInstr, OpCodes(Mips::SW_MM, Mips::SWSP_MM),
ReduceXWtoXWSP,
697 OpInfo(OT_OperandsAll), ImmField(2, 0, 32, 2)},
699 OpInfo(OT_OperandsXOR), ImmField(0, 0, 0, -1)},
701 OpInfo(OT_OperandsXOR), ImmField(0, 0, 0, -1)}};