All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] Add Loongson 2F disassembler
@ 2020-07-02 19:42 Stefan Brankovic
  2020-07-02 19:42 ` [PATCH 1/1] disas: mips: " Stefan Brankovic
  2020-07-02 20:48 ` [PATCH 0/1] " no-reply
  0 siblings, 2 replies; 7+ messages in thread
From: Stefan Brankovic @ 2020-07-02 19:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: chenhc, aleksandar.qemu.devel, stefan.brankovic, aleksandar.rikalo

This patch adds disassembler for Loongson 2F instruction set.

Stefan Brankovic (1):
  disas: mips: Add Loongson 2F disassembler

 MAINTAINERS             |    1 +
 configure               |    1 +
 disas/Makefile.objs     |    1 +
 disas/loongson2f.cpp    | 8134 +++++++++++++++++++++++++++++++++++++++
 disas/loongson2f.h      | 2542 ++++++++++++
 include/disas/dis-asm.h |    1 +
 include/exec/poison.h   |    1 +
 target/mips/cpu.c       |    4 +
 8 files changed, 10685 insertions(+)
 create mode 100644 disas/loongson2f.cpp
 create mode 100644 disas/loongson2f.h

-- 
2.17.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/1] disas: mips: Add Loongson 2F disassembler
  2020-07-02 19:42 [PATCH 0/1] Add Loongson 2F disassembler Stefan Brankovic
@ 2020-07-02 19:42 ` Stefan Brankovic
  2020-07-03  7:59   ` Thomas Huth
  2020-07-02 20:48 ` [PATCH 0/1] " no-reply
  1 sibling, 1 reply; 7+ messages in thread
From: Stefan Brankovic @ 2020-07-02 19:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: chenhc, aleksandar.qemu.devel, stefan.brankovic, aleksandar.rikalo

Add disassembler for Loongson 2F instruction set.

Testing is done by comparing qemu disassembly output, obtained by
using -d in_asm command line option, with appropriate objdump output.

Signed-off-by: Stefan Brankovic <stefan.brankovic@syrmia.com>
---
 MAINTAINERS             |    1 +
 configure               |    1 +
 disas/Makefile.objs     |    1 +
 disas/loongson2f.cpp    | 8134 +++++++++++++++++++++++++++++++++++++++
 disas/loongson2f.h      | 2542 ++++++++++++
 include/disas/dis-asm.h |    1 +
 include/exec/poison.h   |    1 +
 target/mips/cpu.c       |    4 +
 8 files changed, 10685 insertions(+)
 create mode 100644 disas/loongson2f.cpp
 create mode 100644 disas/loongson2f.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 3abe3faa4e..913ed2a6d3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -219,6 +219,7 @@ S: Maintained
 F: target/mips/
 F: default-configs/*mips*
 F: disas/*mips*
+F: disas/loongson*
 F: docs/system/cpu-models-mips.rst.inc
 F: hw/intc/mips_gic.c
 F: hw/mips/
diff --git a/configure b/configure
index 597e909b53..e163dac53e 100755
--- a/configure
+++ b/configure
@@ -8102,6 +8102,7 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
     disas_config "MIPS"
     if test -n "${cxx}"; then
       disas_config "NANOMIPS"
+      disas_config "LOONGSON2F"
     fi
   ;;
   moxie*)
diff --git a/disas/Makefile.objs b/disas/Makefile.objs
index 3c1cdce026..0d5ee1e038 100644
--- a/disas/Makefile.objs
+++ b/disas/Makefile.objs
@@ -14,6 +14,7 @@ common-obj-$(CONFIG_I386_DIS) += i386.o
 common-obj-$(CONFIG_M68K_DIS) += m68k.o
 common-obj-$(CONFIG_MICROBLAZE_DIS) += microblaze.o
 common-obj-$(CONFIG_MIPS_DIS) += mips.o
+common-obj-$(CONFIG_LOONGSON2F_DIS) += loongson2f.o
 common-obj-$(CONFIG_NANOMIPS_DIS) += nanomips.o
 common-obj-$(CONFIG_NIOS2_DIS) += nios2.o
 common-obj-$(CONFIG_MOXIE_DIS) += moxie.o
diff --git a/disas/loongson2f.cpp b/disas/loongson2f.cpp
new file mode 100644
index 0000000000..a2f32dcf93
--- /dev/null
+++ b/disas/loongson2f.cpp
@@ -0,0 +1,8134 @@
+extern "C" {
+#include "qemu/osdep.h"
+#include "qemu/bitops.h"
+#include "disas/dis-asm.h"
+}
+
+#include "loongson2f.h"
+
+int print_insn_loongson2f(bfd_vma addr, disassemble_info *info)
+{
+    bfd_byte buffer[4];
+    uint32_t insn32;
+    int status;
+    Decoder *decoder = new Decoder();
+
+    status = info->read_memory_func(addr, buffer, 4, info);
+    if (status != 0) {
+        info->memory_error_func(status, addr, info);
+        return -1;
+    }
+    if (info->endian == BFD_ENDIAN_BIG) {
+        insn32 = bfd_getb32(buffer);
+    } else {
+        insn32 = bfd_getl32(buffer);
+    }
+
+    status = decoder->decode32(info, insn32);
+
+    delete decoder;
+
+    return status == 0 ? -1 : 4;
+}
+
+int Fields32RdRsRt::getRd()
+{
+    return this->rd;
+}
+
+int Fields32RdRsRt::getRs()
+{
+    return this->rs;
+}
+
+int Fields32RdRsRt::getRt()
+{
+    return this->rt;
+}
+
+int Fields32ImmRsRt::getImm()
+{
+    return this->imm;
+}
+
+int Fields32ImmRsRt::getRs()
+{
+    return this->rs;
+}
+
+int Fields32ImmRsRt::getRt()
+{
+    return this->rt;
+}
+
+int Fields32RdRs::getRd()
+{
+    return this->rd;
+}
+
+int Fields32RdRs::getRs()
+{
+    return this->rs;
+}
+
+int Fields32Rs::getRs()
+{
+    return this->rs;
+}
+
+int Fields32BaseOffsetRt::getBase()
+{
+    return this->base;
+}
+
+int Fields32BaseOffsetRt::getOffset()
+{
+    return this->offset;
+}
+
+int Fields32BaseOffsetRt::getRt()
+{
+    return this->rt;
+}
+
+int Fields32ImmRt::getImm()
+{
+    return this->imm;
+}
+
+int Fields32ImmRt::getRt()
+{
+    return this->rt;
+}
+
+int Fields32Rd::getRd()
+{
+    return this->rd;
+}
+
+int Fields32Stype::getStype()
+{
+    return this->stype;
+}
+
+int Fields32CodeRsRt::getCode()
+{
+    return this->code;
+}
+
+int Fields32CodeRsRt::getRs()
+{
+    return this->rs;
+}
+
+int Fields32CodeRsRt::getRt()
+{
+    return this->rt;
+}
+
+int Fields32ImmRs::getImm()
+{
+    return this->imm;
+}
+
+int Fields32ImmRs::getRs()
+{
+    return this->rs;
+}
+
+int Fields32FdFs::getFd()
+{
+    return this->fd;
+}
+
+int Fields32FdFs::getFs()
+{
+    return this->fs;
+}
+
+int Fields32FdFsFt::getFd()
+{
+    return this->fd;
+}
+
+int Fields32FdFsFt::getFs()
+{
+    return this->fs;
+}
+
+int Fields32FdFsFt::getFt()
+{
+    return this->ft;
+}
+
+int Fields32Offset::getOffset()
+{
+    return this->offset;
+}
+
+int Fields32FsFt::getFs()
+{
+    return this->fs;
+}
+
+int Fields32FsFt::getFt()
+{
+    return this->ft;
+}
+
+int Fields32FsRt::getFs()
+{
+    return this->fs;
+}
+
+int Fields32FsRt::getRt()
+{
+    return this->rt;
+}
+
+int Fields32BaseFtOffset::getBase()
+{
+    return this->base;
+}
+
+int Fields32BaseFtOffset::getFt()
+{
+    return this->ft;
+}
+
+int Fields32BaseFtOffset::getOffset()
+{
+    return this->offset;
+}
+
+int Fields32OffsetRsRt::getOffset()
+{
+    return this->offset;
+}
+
+int Fields32OffsetRsRt::getRs()
+{
+    return this->rs;
+}
+
+int Fields32OffsetRsRt::getRt()
+{
+    return this->rt;
+}
+
+int Fields32OffsetRs::getOffset()
+{
+    return this->offset;
+}
+
+int Fields32OffsetRs::getRs()
+{
+    return this->rs;
+}
+
+int Fields32Code::getCode()
+{
+    return this->code;
+}
+
+int Fields32Cop_fun::getCop_fun()
+{
+    return this->cop_fun;
+}
+
+int Fields32RsRt::getRs()
+{
+    return this->rs;
+}
+
+int Fields32RsRt::getRt()
+{
+    return this->rt;
+}
+
+int Fields32RdRtSa::getRd()
+{
+    return this->rd;
+}
+
+int Fields32RdRtSa::getRt()
+{
+    return this->rt;
+}
+
+int Fields32RdRtSa::getSa()
+{
+    return this->sa;
+}
+
+int Fields32Instr_index::getInstr_index()
+{
+    return this->instr_index;
+}
+
+void Fields32RdRsRtD0::decode_fields32(uint32_t insn)
+{
+    this->rt = extract32(insn, 16, 5);
+    this->rd = extract32(insn, 11, 5);
+    this->rs = extract32(insn, 21, 5);
+}
+
+void Fields32ImmRsRtD0::decode_fields32(uint32_t insn)
+{
+    this->rt = extract32(insn, 16, 5);
+    this->imm = sextract32(insn, 0, 16);
+    this->rs = extract32(insn, 21, 5);
+}
+
+void Fields32RdRsD0::decode_fields32(uint32_t insn)
+{
+    this->rd = extract32(insn, 11, 5);
+    this->rs = extract32(insn, 21, 5);
+}
+
+void Fields32RsD0::decode_fields32(uint32_t insn)
+{
+    this->rs = extract32(insn, 21, 5);
+}
+
+void Fields32BaseOffsetRtD0::decode_fields32(uint32_t insn)
+{
+    this->rt = extract32(insn, 16, 5);
+    this->base = extract32(insn, 21, 5);
+    this->offset = sextract32(insn, 0, 16);
+}
+
+void Fields32ImmRtD0::decode_fields32(uint32_t insn)
+{
+    this->rt = extract32(insn, 16, 5);
+    this->imm = extract32(insn, 0, 16);
+}
+
+void Fields32RdD0::decode_fields32(uint32_t insn)
+{
+    this->rd = extract32(insn, 11, 5);
+}
+
+void Fields32StypeD0::decode_fields32(uint32_t insn)
+{
+    this->stype = extract32(insn, 6, 5);
+}
+
+void Fields32CodeRsRtD0::decode_fields32(uint32_t insn)
+{
+    this->rt = extract32(insn, 16, 5);
+    this->code = extract32(insn, 6, 10);
+    this->rs = extract32(insn, 21, 5);
+}
+
+void Fields32ImmRsD0::decode_fields32(uint32_t insn)
+{
+    this->imm = sextract32(insn, 0, 16);
+    this->rs = extract32(insn, 21, 5);
+}
+
+void Fields32FdFsD0::decode_fields32(uint32_t insn)
+{
+    this->fs = extract32(insn, 11, 5);
+    this->fd = extract32(insn, 6, 5);
+}
+
+void Fields32FdFsFtD0::decode_fields32(uint32_t insn)
+{
+    this->ft = extract32(insn, 16, 5);
+    this->fs = extract32(insn, 11, 5);
+    this->fd = extract32(insn, 6, 5);
+}
+
+void Fields32ImmRsRtD1::decode_fields32(uint32_t insn)
+{
+    this->rt = extract32(insn, 16, 5);
+    this->imm = extract32(insn, 0, 16);
+    this->rs = extract32(insn, 21, 5);
+}
+
+void Fields32OffsetD0::decode_fields32(uint32_t insn)
+{
+    this->offset = sextract32(insn, 0, 16);
+}
+
+void Fields32FsFtD0::decode_fields32(uint32_t insn)
+{
+    this->fs = extract32(insn, 11, 5);
+    this->ft = extract32(insn, 16, 5);
+}
+
+void Fields32FsRtD0::decode_fields32(uint32_t insn)
+{
+    this->rt = extract32(insn, 16, 5);
+    this->fs = extract32(insn, 11, 5);
+}
+
+void Fields32BaseFtOffsetD0::decode_fields32(uint32_t insn)
+{
+    this->base = extract32(insn, 21, 5);
+    this->ft = extract32(insn, 16, 5);
+    this->offset = sextract32(insn, 0, 16);
+}
+
+void Fields32OffsetRsRtD0::decode_fields32(uint32_t insn)
+{
+    this->rt = extract32(insn, 16, 5);
+    this->rs = extract32(insn, 21, 5);
+    this->offset = sextract32(insn, 0, 16);
+}
+
+void Fields32OffsetRsD0::decode_fields32(uint32_t insn)
+{
+    this->rs = extract32(insn, 21, 5);
+    this->offset = sextract32(insn, 0, 16);
+}
+
+void Fields32CodeD0::decode_fields32(uint32_t insn)
+{
+    this->code = extract32(insn, 6, 20);
+}
+
+void Fields32Cop_funD0::decode_fields32(uint32_t insn)
+{
+    this->cop_fun = extract32(insn, 0, 26);
+}
+
+void Fields32RsRtD0::decode_fields32(uint32_t insn)
+{
+    this->rt = extract32(insn, 16, 5);
+    this->rs = extract32(insn, 21, 5);
+}
+
+void Fields32RdRtSaD0::decode_fields32(uint32_t insn)
+{
+    this->rt = extract32(insn, 16, 5);
+    this->rd = extract32(insn, 11, 5);
+    this->sa = extract32(insn, 6, 5);
+}
+
+void Fields32Instr_indexD0::decode_fields32(uint32_t insn)
+{
+    this->instr_index = extract32(insn, 0, 26);
+}
+
+void Instruction32::getAlias(char *buffer, int regNo)
+{
+    switch (regNo) {
+    case 0:
+        strncpy(buffer, "zero", 5);
+        break;
+    case 1:
+        strncpy(buffer, "at", 5);
+        break;
+    case 2:
+    case 3:
+        sprintf(buffer, "v%d", regNo - 2);
+        break;
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+    case 11:
+        sprintf(buffer, "a%d", regNo - 4);
+        break;
+    case 12:
+    case 13:
+    case 14:
+    case 15:
+        sprintf(buffer, "t%d", regNo - 12);
+        break;
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+    case 21:
+    case 22:
+    case 23:
+        sprintf(buffer, "s%d", regNo - 16);
+        break;
+    case 24:
+    case 25:
+        sprintf(buffer, "t%d", regNo - 16);
+        break;
+    case 28:
+        strncpy(buffer, "gp", 5);
+        break;
+    case 29:
+        strncpy(buffer, "sp", 5);
+        break;
+    case 30:
+        strncpy(buffer, "s8", 5);
+        break;
+    case 31:
+        strncpy(buffer, "ra", 5);
+        break;
+    default:
+        sprintf(buffer, "r%d", regNo);
+        break;
+    }
+}
+
+Instruction32::~Instruction32() {}
+
+ADD::ADD(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ADD::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "ADD",
+     alias1, alias2, alias3));
+    return true;
+}
+
+ADDI::ADDI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ADDI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "ADDI",
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));
+    return true;
+}
+
+ADDIU::ADDIU(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ADDIU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "ADDIU",
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));
+    return true;
+}
+
+ADDU::ADDU(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ADDU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "ADDU",
+     alias1, alias2, alias3));
+    return true;
+}
+
+AND::AND(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool AND::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "AND",
+     alias1, alias2, alias3));
+    return true;
+}
+
+ANDI::ANDI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsRtD1();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ANDI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "ANDI",
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));
+    return true;
+}
+
+BEQ::BEQ(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BEQ::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32OffsetRsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32OffsetRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "BEQ",
+     alias1, alias2, ((Fields32OffsetRsRt*)this->fields32)->getOffset()));
+    return true;
+}
+
+BEQL::BEQL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BEQL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32OffsetRsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32OffsetRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "BEQL",
+     alias1, alias2, ((Fields32OffsetRsRt*)this->fields32)->getOffset()));
+    return true;
+}
+
+BGEZ::BGEZ(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BGEZ::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BGEZ",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BGEZAL::BGEZAL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BGEZAL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BGEZAL",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BGEZALL::BGEZALL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BGEZALL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BGEZALL",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BGEZL::BGEZL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BGEZL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BGEZL",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BGTZ::BGTZ(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BGTZ::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BGTZ",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BGTZL::BGTZL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BGTZL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BGTZL",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BLEZ::BLEZ(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BLEZ::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BLEZ",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BLEZL::BLEZL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BLEZL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BLEZL",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BLTZ::BLTZ(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BLTZ::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BLTZ",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BLTZAL::BLTZAL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BLTZAL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BLTZAL",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BLTZALL::BLTZALL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BLTZALL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BLTZALL",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BLTZL::BLTZL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BLTZL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "BLTZL",
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));
+    return true;
+}
+
+BNE::BNE(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BNE::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32OffsetRsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32OffsetRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "BNE",
+     alias1, alias2, ((Fields32OffsetRsRt*)this->fields32)->getOffset()));
+    return true;
+}
+
+BNEL::BNEL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BNEL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32OffsetRsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32OffsetRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "BNEL",
+     alias1, alias2, ((Fields32OffsetRsRt*)this->fields32)->getOffset()));
+    return true;
+}
+
+BREAK::BREAK(uint32_t insn)
+{
+    this->fields32 = new Fields32CodeD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BREAK::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "BREAK",
+     ((Fields32Code*)this->fields32)->getCode()));
+    return true;
+}
+
+COP0::COP0(uint32_t insn)
+{
+    this->fields32 = new Fields32Cop_funD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool COP0::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "COP0",
+     ((Fields32Cop_fun*)this->fields32)->getCop_fun()));
+    return true;
+}
+
+COP3::COP3(uint32_t insn)
+{
+    this->fields32 = new Fields32Cop_funD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool COP3::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "COP3",
+     ((Fields32Cop_fun*)this->fields32)->getCop_fun()));
+    return true;
+}
+
+DADD::DADD(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DADD::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DADD",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DADDI::DADDI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DADDI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "DADDI",
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));
+    return true;
+}
+
+DADDIU::DADDIU(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DADDIU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "DADDIU",
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));
+    return true;
+}
+
+DADDU::DADDU(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DADDU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DADDU",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DDIV::DDIV(uint32_t insn)
+{
+    this->fields32 = new Fields32RsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DDIV::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "DDIV",
+     alias1, alias2));
+    return true;
+}
+
+DDIVU::DDIVU(uint32_t insn)
+{
+    this->fields32 = new Fields32RsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DDIVU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "DDIVU",
+     alias1, alias2));
+    return true;
+}
+
+DIV::DIV(uint32_t insn)
+{
+    this->fields32 = new Fields32RsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DIV::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "DIV",
+     alias1, alias2));
+    return true;
+}
+
+DIVU::DIVU(uint32_t insn)
+{
+    this->fields32 = new Fields32RsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DIVU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "DIVU",
+     alias1, alias2));
+    return true;
+}
+
+DMULT::DMULT(uint32_t insn)
+{
+    this->fields32 = new Fields32RsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DMULT::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "DMULT",
+     alias1, alias2));
+    return true;
+}
+
+DMULTU::DMULTU(uint32_t insn)
+{
+    this->fields32 = new Fields32RsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DMULTU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "DMULTU",
+     alias1, alias2));
+    return true;
+}
+
+DSLL::DSLL(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRtSaD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSLL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "DSLL",
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));
+    return true;
+}
+
+DSLL32::DSLL32(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRtSaD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSLL32::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "DSLL32",
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));
+    return true;
+}
+
+DSLLV::DSLLV(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSLLV::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRt());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DSLLV",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DSRA::DSRA(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRtSaD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSRA::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "DSRA",
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));
+    return true;
+}
+
+DSRA32::DSRA32(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRtSaD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSRA32::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "DSRA32",
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));
+    return true;
+}
+
+DSRAV::DSRAV(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSRAV::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRt());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DSRAV",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DSRL::DSRL(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRtSaD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSRL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "DSRL",
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));
+    return true;
+}
+
+DSRL32::DSRL32(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRtSaD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSRL32::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "DSRL32",
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));
+    return true;
+}
+
+DSRLV::DSRLV(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSRLV::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRt());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DSRLV",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DSUB::DSUB(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSUB::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DSUB",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DSUBU::DSUBU(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSUBU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DSUBU",
+     alias1, alias2, alias3));
+    return true;
+}
+
+J::J(uint32_t insn)
+{
+    this->fields32 = new Fields32Instr_indexD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool J::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "J",
+     ((Fields32Instr_index*)this->fields32)->getInstr_index()));
+    return true;
+}
+
+JAL::JAL(uint32_t insn)
+{
+    this->fields32 = new Fields32Instr_indexD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool JAL::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "JAL",
+     ((Fields32Instr_index*)this->fields32)->getInstr_index()));
+    return true;
+}
+
+JALR::JALR(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool JALR::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RdRs*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "JALR",
+     alias1, alias2));
+    return true;
+}
+
+JR::JR(uint32_t insn)
+{
+    this->fields32 = new Fields32RsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool JR::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32Rs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s", "" "JR",
+     alias1));
+    return true;
+}
+
+LB::LB(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LB::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LB",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LBU::LBU(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LBU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LBU",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LD::LD(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LD::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LD",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LDC2::LDC2(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LDC2::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LDC2",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LDL::LDL(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LDL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LDL",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LDR::LDR(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LDR::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LDR",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LH::LH(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LH::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LH",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LHU::LHU(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LHU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LHU",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LL::LL(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LL",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LLD::LLD(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LLD::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LLD",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LUI::LUI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LUI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32ImmRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "LUI",
+     alias1, ((Fields32ImmRt*)this->fields32)->getImm()));
+    return true;
+}
+
+LW::LW(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LW::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LW",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LWC2::LWC2(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LWC2::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LWC2",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LWC3::LWC3(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LWC3::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LWC3",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LWL::LWL(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LWL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LWL",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LWR::LWR(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LWR::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LWR",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+LWU::LWU(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LWU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "LWU",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+MFHI::MFHI(uint32_t insn)
+{
+    this->fields32 = new Fields32RdD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MFHI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32Rd*)this->fields32)->getRd());
+    (info->fprintf_func(info->stream, "%-9s" " %s", "" "MFHI",
+     alias1));
+    return true;
+}
+
+MFLO::MFLO(uint32_t insn)
+{
+    this->fields32 = new Fields32RdD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MFLO::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32Rd*)this->fields32)->getRd());
+    (info->fprintf_func(info->stream, "%-9s" " %s", "" "MFLO",
+     alias1));
+    return true;
+}
+
+MTHI::MTHI(uint32_t insn)
+{
+    this->fields32 = new Fields32RsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MTHI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32Rs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s", "" "MTHI",
+     alias1));
+    return true;
+}
+
+MTLO::MTLO(uint32_t insn)
+{
+    this->fields32 = new Fields32RsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MTLO::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32Rs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s", "" "MTLO",
+     alias1));
+    return true;
+}
+
+MULT::MULT(uint32_t insn)
+{
+    this->fields32 = new Fields32RsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MULT::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "MULT",
+     alias1, alias2));
+    return true;
+}
+
+MULTU::MULTU(uint32_t insn)
+{
+    this->fields32 = new Fields32RsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MULTU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "MULTU",
+     alias1, alias2));
+    return true;
+}
+
+NOR::NOR(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool NOR::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "NOR",
+     alias1, alias2, alias3));
+    return true;
+}
+
+OR::OR(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool OR::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "OR",
+     alias1, alias2, alias3));
+    return true;
+}
+
+ORI::ORI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsRtD1();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ORI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "ORI",
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));
+    return true;
+}
+
+SB::SB(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SB::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SB",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SC::SC(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SC::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SC",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SCD::SCD(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SCD::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SCD",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SD::SD(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SD::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SD",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SDC2::SDC2(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SDC2::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SDC2",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SDL::SDL(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SDL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SDL",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SDR::SDR(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SDR::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SDR",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SH::SH(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SH::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SH",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SLL::SLL(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRtSaD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "SLL",
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));
+    return true;
+}
+
+SLLV::SLLV(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLLV::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "SLLV",
+     alias1, alias2, alias3));
+    return true;
+}
+
+SLT::SLT(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLT::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "SLT",
+     alias1, alias2, alias3));
+    return true;
+}
+
+SLTI::SLTI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLTI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "SLTI",
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));
+    return true;
+}
+
+SLTIU::SLTIU(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsRtD1();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLTIU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "SLTIU",
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));
+    return true;
+}
+
+SLTU::SLTU(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLTU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "SLTU",
+     alias1, alias2, alias3));
+    return true;
+}
+
+SRA::SRA(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRtSaD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SRA::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "SRA",
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));
+    return true;
+}
+
+SRAV::SRAV(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SRAV::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRt());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "SRAV",
+     alias1, alias2, alias3));
+    return true;
+}
+
+SRL::SRL(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRtSaD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SRL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "SRL",
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));
+    return true;
+}
+
+SRLV::SRLV(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SRLV::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "SRLV",
+     alias1, alias2, alias3));
+    return true;
+}
+
+SUB::SUB(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SUB::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "SUB",
+     alias1, alias2, alias3));
+    return true;
+}
+
+SUBU::SUBU(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SUBU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "SUBU",
+     alias1, alias2, alias3));
+    return true;
+}
+
+SW::SW(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SW::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SW",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SWC2::SWC2(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SWC2::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SWC2",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SWC3::SWC3(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SWC3::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SWC3",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SWL::SWL(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SWL::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SWL",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SWR::SWR(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseOffsetRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SWR::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d(%s)", "" "SWR",
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));
+    return true;
+}
+
+SYNC::SYNC(uint32_t insn)
+{
+    this->fields32 = new Fields32StypeD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SYNC::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "SYNC",
+     ((Fields32Stype*)this->fields32)->getStype()));
+    return true;
+}
+
+SYSCALL::SYSCALL(uint32_t insn)
+{
+    this->fields32 = new Fields32CodeD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SYSCALL::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "SYSCALL",
+     ((Fields32Code*)this->fields32)->getCode()));
+    return true;
+}
+
+TEQ::TEQ(uint32_t insn)
+{
+    this->fields32 = new Fields32CodeRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TEQ::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "TEQ",
+     alias1, alias2));
+    return true;
+}
+
+TEQI::TEQI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TEQI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "TEQI",
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));
+    return true;
+}
+
+TGE::TGE(uint32_t insn)
+{
+    this->fields32 = new Fields32CodeRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TGE::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "TGE",
+     alias1, alias2));
+    return true;
+}
+
+TGEI::TGEI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TGEI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "TGEI",
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));
+    return true;
+}
+
+TGEIU::TGEIU(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TGEIU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "TGEIU",
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));
+    return true;
+}
+
+TGEU::TGEU(uint32_t insn)
+{
+    this->fields32 = new Fields32CodeRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TGEU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "TGEU",
+     alias1, alias2));
+    return true;
+}
+
+TLT::TLT(uint32_t insn)
+{
+    this->fields32 = new Fields32CodeRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TLT::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "TLT",
+     alias1, alias2));
+    return true;
+}
+
+TLTI::TLTI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TLTI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "TLTI",
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));
+    return true;
+}
+
+TLTIU::TLTIU(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TLTIU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "TLTIU",
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));
+    return true;
+}
+
+TLTU::TLTU(uint32_t insn)
+{
+    this->fields32 = new Fields32CodeRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TLTU::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "TLTU",
+     alias1, alias2));
+    return true;
+}
+
+TNE::TNE(uint32_t insn)
+{
+    this->fields32 = new Fields32CodeRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TNE::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s", "" "TNE",
+     alias1, alias2));
+    return true;
+}
+
+TNEI::TNEI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TNEI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %d", "" "TNEI",
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));
+    return true;
+}
+
+XOR::XOR(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool XOR::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "XOR",
+     alias1, alias2, alias3));
+    return true;
+}
+
+XORI::XORI(uint32_t insn)
+{
+    this->fields32 = new Fields32ImmRsRtD1();
+    this->fields32->decode_fields32(insn);
+}
+
+bool XORI::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %d", "" "XORI",
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));
+    return true;
+}
+
+ABS_S::ABS_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ABS_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "ABS_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+ABS_D::ABS_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ABS_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "ABS_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+ADD_S::ADD_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ADD_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "ADD_S",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+ADD_D::ADD_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ADD_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "ADD_D",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+BC1F::BC1F(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BC1F::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "BC1F",
+     ((Fields32Offset*)this->fields32)->getOffset()));
+    return true;
+}
+
+BC1FL::BC1FL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BC1FL::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "BC1FL",
+     ((Fields32Offset*)this->fields32)->getOffset()));
+    return true;
+}
+
+BC1T::BC1T(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BC1T::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "BC1T",
+     ((Fields32Offset*)this->fields32)->getOffset()));
+    return true;
+}
+
+BC1TL::BC1TL(uint32_t insn)
+{
+    this->fields32 = new Fields32OffsetD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BC1TL::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " %d", "" "BC1TL",
+     ((Fields32Offset*)this->fields32)->getOffset()));
+    return true;
+}
+
+C_F_S::C_F_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_F_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_F_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_UN_S::C_UN_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_UN_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_UN_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_EQ_S::C_EQ_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_EQ_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_EQ_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_UEQ_S::C_UEQ_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_UEQ_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_UEQ_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_OLT_S::C_OLT_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_OLT_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_OLT_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_ULT_S::C_ULT_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_ULT_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_ULT_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_OLE_S::C_OLE_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_OLE_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_OLE_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_ULE_S::C_ULE_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_ULE_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_ULE_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_SF_S::C_SF_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_SF_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_SF_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_NGLE_S::C_NGLE_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_NGLE_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_NGLE_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_SEQ_S::C_SEQ_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_SEQ_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_SEQ_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_NGL_S::C_NGL_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_NGL_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_NGL_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_LT_S::C_LT_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_LT_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_LT_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_NGE_S::C_NGE_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_NGE_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_NGE_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_LE_S::C_LE_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_LE_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_LE_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_NGT_S::C_NGT_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_NGT_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_NGT_S",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_F_D::C_F_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_F_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_F_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_UN_D::C_UN_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_UN_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_UN_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_EQ_D::C_EQ_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_EQ_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_EQ_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_UEQ_D::C_UEQ_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_UEQ_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_UEQ_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_OLT_D::C_OLT_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_OLT_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_OLT_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_ULT_D::C_ULT_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_ULT_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_ULT_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_OLE_D::C_OLE_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_OLE_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_OLE_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_ULE_D::C_ULE_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_ULE_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_ULE_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_SF_D::C_SF_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_SF_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_SF_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_NGLE_D::C_NGLE_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_NGLE_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_NGLE_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_SEQ_D::C_SEQ_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_SEQ_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_SEQ_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_NGL_D::C_NGL_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_NGL_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_NGL_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_LT_D::C_LT_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_LT_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_LT_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_NGE_D::C_NGE_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_NGE_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_NGE_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_LE_D::C_LE_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_LE_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_LE_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+C_NGT_D::C_NGT_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool C_NGT_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "C_NGT_D",
+     ((Fields32FsFt*)this->fields32)->getFs(),
+     ((Fields32FsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+CEIL_L_S::CEIL_L_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CEIL_L_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CEIL_L_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CEIL_L_D::CEIL_L_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CEIL_L_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CEIL_L_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CEIL_W_S::CEIL_W_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CEIL_W_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CEIL_W_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CEIL_W_D::CEIL_W_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CEIL_W_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CEIL_W_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CFC1::CFC1(uint32_t insn)
+{
+    this->fields32 = new Fields32FsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CFC1::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, f%d", "" "CFC1",
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));
+    return true;
+}
+
+CTC1::CTC1(uint32_t insn)
+{
+    this->fields32 = new Fields32FsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CTC1::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, f%d", "" "CTC1",
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));
+    return true;
+}
+
+CVT_D_S::CVT_D_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CVT_D_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CVT_D_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CVT_D_W::CVT_D_W(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CVT_D_W::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CVT_D_W",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CVT_D_L::CVT_D_L(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CVT_D_L::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CVT_D_L",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CVT_L_S::CVT_L_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CVT_L_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CVT_L_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CVT_L_D::CVT_L_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CVT_L_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CVT_L_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CVT_S_D::CVT_S_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CVT_S_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CVT_S_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CVT_S_W::CVT_S_W(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CVT_S_W::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CVT_S_W",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CVT_S_L::CVT_S_L(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CVT_S_L::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CVT_S_L",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CVT_W_S::CVT_W_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CVT_W_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CVT_W_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+CVT_W_D::CVT_W_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool CVT_W_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "CVT_W_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+DIV_S::DIV_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DIV_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "DIV_S",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+DIV_D::DIV_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DIV_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "DIV_D",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+DMFC1::DMFC1(uint32_t insn)
+{
+    this->fields32 = new Fields32FsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DMFC1::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, f%d", "" "DMFC1",
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));
+    return true;
+}
+
+DMTC1::DMTC1(uint32_t insn)
+{
+    this->fields32 = new Fields32FsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DMTC1::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, f%d", "" "DMTC1",
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));
+    return true;
+}
+
+FLOOR_L_S::FLOOR_L_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool FLOOR_L_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "FLOOR_L_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+FLOOR_L_D::FLOOR_L_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool FLOOR_L_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "FLOOR_L_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+FLOOR_W_S::FLOOR_W_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool FLOOR_W_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "FLOOR_W_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+FLOOR_W_D::FLOOR_W_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool FLOOR_W_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "FLOOR_W_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+LDC1::LDC1(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseFtOffsetD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LDC1::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, %d(r%d)", "" "LDC1",
+     ((Fields32BaseFtOffset*)this->fields32)->getFt(),
+     ((Fields32BaseFtOffset*)this->fields32)->getOffset(),
+     ((Fields32BaseFtOffset*)this->fields32)->getBase()));
+    return true;
+}
+
+LWC1::LWC1(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseFtOffsetD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool LWC1::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, %d(r%d)", "" "LWC1",
+     ((Fields32BaseFtOffset*)this->fields32)->getFt(),
+     ((Fields32BaseFtOffset*)this->fields32)->getOffset(),
+     ((Fields32BaseFtOffset*)this->fields32)->getBase()));
+    return true;
+}
+
+MFC1::MFC1(uint32_t insn)
+{
+    this->fields32 = new Fields32FsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MFC1::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, f%d", "" "MFC1",
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));
+    return true;
+}
+
+MOV_S::MOV_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MOV_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "MOV_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+MOV_D::MOV_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MOV_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "MOV_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+MTC1::MTC1(uint32_t insn)
+{
+    this->fields32 = new Fields32FsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MTC1::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, f%d", "" "MTC1",
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));
+    return true;
+}
+
+MUL_S::MUL_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MUL_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "MUL_S",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+MUL_D::MUL_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MUL_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "MUL_D",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+NEG_S::NEG_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool NEG_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "NEG_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+NEG_D::NEG_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool NEG_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "NEG_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+ROUND_L_S::ROUND_L_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ROUND_L_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "ROUND_L_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+ROUND_L_D::ROUND_L_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ROUND_L_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "ROUND_L_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+ROUND_W_S::ROUND_W_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ROUND_W_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "ROUND_W_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+ROUND_W_D::ROUND_W_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ROUND_W_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "ROUND_W_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+SDC1::SDC1(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseFtOffsetD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SDC1::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, %d(r%d)", "" "SDC1",
+     ((Fields32BaseFtOffset*)this->fields32)->getFt(),
+     ((Fields32BaseFtOffset*)this->fields32)->getOffset(),
+     ((Fields32BaseFtOffset*)this->fields32)->getBase()));
+    return true;
+}
+
+SQRT_S::SQRT_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SQRT_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "SQRT_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+SQRT_D::SQRT_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SQRT_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "SQRT_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+SUB_S::SUB_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SUB_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SUB_S",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SUB_D::SUB_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SUB_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SUB_D",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SWC1::SWC1(uint32_t insn)
+{
+    this->fields32 = new Fields32BaseFtOffsetD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SWC1::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, %d(r%d)", "" "SWC1",
+     ((Fields32BaseFtOffset*)this->fields32)->getFt(),
+     ((Fields32BaseFtOffset*)this->fields32)->getOffset(),
+     ((Fields32BaseFtOffset*)this->fields32)->getBase()));
+    return true;
+}
+
+TRUNC_L_S::TRUNC_L_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TRUNC_L_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "TRUNC_L_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+TRUNC_L_D::TRUNC_L_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TRUNC_L_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "TRUNC_L_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+TRUNC_W_S::TRUNC_W_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TRUNC_W_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "TRUNC_W_S",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+TRUNC_W_D::TRUNC_W_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool TRUNC_W_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "TRUNC_W_D",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+MULT_G::MULT_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MULT_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "MULT_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+MULTU_G::MULTU_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MULTU_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "MULTU_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DMULT_G::DMULT_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DMULT_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DMULT_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DMULTU_G::DMULTU_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DMULTU_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DMULTU_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DIV_G::DIV_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DIV_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DIV_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DIVU_G::DIVU_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DIVU_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DIVU_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DDIV_G::DDIV_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DDIV_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DDIV_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DDIVU_G::DDIVU_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DDIVU_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DDIVU_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+MOD_G::MOD_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MOD_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "MOD_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+MODU_G::MODU_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MODU_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "MODU_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DMOD_G::DMOD_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DMOD_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DMOD_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+DMODU_G::DMODU_G(uint32_t insn)
+{
+    this->fields32 = new Fields32RdRsRtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DMODU_G::disas_output(disassemble_info *info)
+{
+    char alias1[5];
+    char alias2[5];
+    char alias3[5];
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());
+    (info->fprintf_func(info->stream, "%-9s" " %s, %s, %s", "" "DMODU_G",
+     alias1, alias2, alias3));
+    return true;
+}
+
+MADD_S::MADD_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MADD_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "MADD_S",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+MADD_D::MADD_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MADD_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "MADD_D",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+MSUB_S::MSUB_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MSUB_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "MSUB_S",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+MSUB_D::MSUB_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool MSUB_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "MSUB_D",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+NMADD_S::NMADD_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool NMADD_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "NMADD_S",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+NMADD_D::NMADD_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool NMADD_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "NMADD_D",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+NMSUB_S::NMSUB_S(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool NMSUB_S::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "NMSUB_S",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+NMSUB_D::NMSUB_D(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool NMSUB_D::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "NMSUB_D",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PACKSSHB::PACKSSHB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PACKSSHB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PACKSSHB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PACKSSWH::PACKSSWH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PACKSSWH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PACKSSWH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PACKUSHB::PACKUSHB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PACKUSHB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PACKUSHB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PADDB::PADDB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PADDB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PADDB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PADDH::PADDH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PADDH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PADDH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PADDW::PADDW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PADDW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PADDW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PADDD::PADDD(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PADDD::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PADDD",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PADDSB::PADDSB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PADDSB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PADDSB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PADDSH::PADDSH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PADDSH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PADDSH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PADDUSB::PADDUSB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PADDUSB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PADDUSB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PADDUSH::PADDUSH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PADDUSH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PADDUSH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PANDN::PANDN(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PANDN::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PANDN",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PAVGB::PAVGB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PAVGB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PAVGB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PAVGH::PAVGH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PAVGH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PAVGH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PCMPEQB::PCMPEQB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PCMPEQB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PCMPEQB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PCMPEQH::PCMPEQH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PCMPEQH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PCMPEQH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PCMPEQW::PCMPEQW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PCMPEQW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PCMPEQW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PCMPGTB::PCMPGTB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PCMPGTB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PCMPGTB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PCMPGTH::PCMPGTH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PCMPGTH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PCMPGTH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PCMPGTW::PCMPGTW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PCMPGTW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PCMPGTW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PEXTRH::PEXTRH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PEXTRH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PEXTRH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PINSRH_0::PINSRH_0(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PINSRH_0::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PINSRH_0",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PINSRH_1::PINSRH_1(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PINSRH_1::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PINSRH_1",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PINSRH_2::PINSRH_2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PINSRH_2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PINSRH_2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PINSRH_3::PINSRH_3(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PINSRH_3::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PINSRH_3",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PMADDHW::PMADDHW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PMADDHW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PMADDHW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PMAXSH::PMAXSH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PMAXSH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PMAXSH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PMAXUB::PMAXUB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PMAXUB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PMAXUB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PMINSH::PMINSH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PMINSH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PMINSH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PMINUB::PMINUB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PMINUB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PMINUB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PMOVMSKB::PMOVMSKB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PMOVMSKB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "PMOVMSKB",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+PMULHUH::PMULHUH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PMULHUH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PMULHUH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PMULHH::PMULHH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PMULHH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PMULHH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PMULLH::PMULLH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PMULLH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PMULLH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PMULUW::PMULUW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PMULUW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PMULUW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PASUBUB::PASUBUB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PASUBUB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PASUBUB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+BIADD::BIADD(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool BIADD::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d", "" "BIADD",
+     ((Fields32FdFs*)this->fields32)->getFd(),
+     ((Fields32FdFs*)this->fields32)->getFs()));
+    return true;
+}
+
+PSHUFH::PSHUFH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSHUFH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSHUFH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSLLH::PSLLH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSLLH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSLLH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSLLW::PSLLW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSLLW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSLLW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSRAH::PSRAH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSRAH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSRAH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSRAW::PSRAW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSRAW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSRAW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSRLH::PSRLH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSRLH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSRLH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSRLW::PSRLW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSRLW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSRLW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSUBB::PSUBB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSUBB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSUBB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSUBH::PSUBH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSUBH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSUBH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSUBW::PSUBW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSUBW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSUBW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSUBD::PSUBD(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSUBD::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSUBD",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSUBSB::PSUBSB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSUBSB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSUBSB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSUBSH::PSUBSH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSUBSH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSUBSH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSUBUSB::PSUBUSB(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSUBUSB::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSUBUSB",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PSUBUSH::PSUBUSH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PSUBUSH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PSUBUSH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PUNPCKHBH::PUNPCKHBH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PUNPCKHBH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PUNPCKHBH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PUNPCKHHW::PUNPCKHHW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PUNPCKHHW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PUNPCKHHW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PUNPCKHWD::PUNPCKHWD(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PUNPCKHWD::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PUNPCKHWD",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PUNPCKLBH::PUNPCKLBH(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PUNPCKLBH::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PUNPCKLBH",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PUNPCKLHW::PUNPCKLHW(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PUNPCKLHW::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PUNPCKLHW",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+PUNPCKLWD::PUNPCKLWD(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool PUNPCKLWD::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "PUNPCKLWD",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+ADD_CP2::ADD_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ADD_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "ADD_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+ADDU_CP2::ADDU_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool ADDU_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "ADDU_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+DADD_CP2::DADD_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DADD_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "DADD_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SUB_CP2::SUB_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SUB_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SUB_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SUBU_CP2::SUBU_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SUBU_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SUBU_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+DSUB_CP2::DSUB_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSUB_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "DSUB_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+OR_CP2::OR_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool OR_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "OR_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SLI_CP2::SLI_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLI_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SLI_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+DSLL_CP2::DSLL_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSLL_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "DSLL_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+XOR_CP2::XOR_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool XOR_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "XOR_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+NOR_CP2::NOR_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool NOR_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "NOR_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+AND_CP2::AND_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool AND_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "AND_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SRL_CP2::SRL_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SRL_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SRL_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+DSRL_CP2::DSRL_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSRL_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "DSRL_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SRA_CP2::SRA_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SRA_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SRA_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+DSRA_CP2::DSRA_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool DSRA_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "DSRA_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SEQU_CP2::SEQU_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SEQU_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SEQU_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SLTU_CP2::SLTU_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLTU_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SLTU_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SLEU_CP2::SLEU_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLEU_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SLEU_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SEQ_CP2::SEQ_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SEQ_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SEQ_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SLT_CP2::SLT_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLT_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SLT_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+SLE_CP2::SLE_CP2(uint32_t insn)
+{
+    this->fields32 = new Fields32FdFsFtD0();
+    this->fields32->decode_fields32(insn);
+}
+
+bool SLE_CP2::disas_output(disassemble_info *info)
+{
+    (info->fprintf_func(info->stream, "%-9s" " f%d, f%d, f%d", "" "SLE_CP2",
+     ((Fields32FdFsFt*)this->fields32)->getFd(),
+     ((Fields32FdFsFt*)this->fields32)->getFs(),
+     ((Fields32FdFsFt*)this->fields32)->getFt()));
+    return true;
+}
+
+int Decoder::decode32(disassemble_info *ctx, uint32_t insn)
+{
+    Instruction32 *instruction;
+    int ret = 0;
+
+    switch ((insn >> 26) & 0b111111) {
+    case 0b0:
+        /*                              000000__ ________ ________ ________ */
+        switch (insn & 0b111111) {
+        case 0b0:
+            /*                          000000__ ________ ________ __000000 */
+            if (((insn >> 21) & 0b11111) == 0b0) {
+                /*                      00000000 000_____ ________ __000000 */
+                instruction = new SLL(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10:
+            /*                          000000__ ________ ________ __000010 */
+            if (((insn >> 21) & 0b11111) == 0b0) {
+                /*                      00000000 000_____ ________ __000010 */
+                instruction = new SRL(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11:
+            /*                          000000__ ________ ________ __000011 */
+            if (((insn >> 21) & 0b11111) == 0b0) {
+                /*                      00000000 000_____ ________ __000011 */
+                instruction = new SRA(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b100:
+            /*                          000000__ ________ ________ __000100 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00000100 */
+                instruction = new SLLV(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b110:
+            /*                          000000__ ________ ________ __000110 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00000110 */
+                instruction = new SRLV(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b111:
+            /*                          000000__ ________ ________ __000111 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00000111 */
+                instruction = new SRAV(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b1000:
+            /*                          000000__ ________ ________ __001000 */
+            if (((insn >> 6) & 0b111111111111111) == 0b0) {
+                /*                      000000__ ___00000 00000000 00001000 */
+                instruction = new JR(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b1001:
+            /*                          000000__ ________ ________ __001001 */
+            if ((insn & 0b111110000011111000000) == 0b0) {
+                /*                      000000__ ___00000 _____000 00001001 */
+                instruction = new JALR(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b1100:
+            /*                          000000__ ________ ________ __001100 */
+            instruction = new SYSCALL(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b1101:
+            /*                          000000__ ________ ________ __001101 */
+            instruction = new BREAK(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b1111:
+            /*                          000000__ ________ ________ __001111 */
+            if (((insn >> 11) & 0b111111111111111) == 0b0) {
+                /*                      00000000 00000000 00000___ __001111 */
+                instruction = new SYNC(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10000:
+            /*                          000000__ ________ ________ __010000 */
+            if ((insn & 0b11111111110000011111000000) == 0b0) {
+                /*                      00000000 00000000 _____000 00010000 */
+                instruction = new MFHI(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10001:
+            /*                          000000__ ________ ________ __010001 */
+            if (((insn >> 6) & 0b111111111111111) == 0b0) {
+                /*                      000000__ ___00000 00000000 00010001 */
+                instruction = new MTHI(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10010:
+            /*                          000000__ ________ ________ __010010 */
+            if ((insn & 0b11111111110000011111000000) == 0b0) {
+                /*                      00000000 00000000 _____000 00010010 */
+                instruction = new MFLO(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10011:
+            /*                          000000__ ________ ________ __010011 */
+            if (((insn >> 6) & 0b111111111111111) == 0b0) {
+                /*                      000000__ ___00000 00000000 00010011 */
+                instruction = new MTLO(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10100:
+            /*                          000000__ ________ ________ __010100 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00010100 */
+                instruction = new DSLLV(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10110:
+            /*                          000000__ ________ ________ __010110 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00010110 */
+                instruction = new DSRLV(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10111:
+            /*                          000000__ ________ ________ __010111 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00010111 */
+                instruction = new DSRAV(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11000:
+            /*                          000000__ ________ ________ __011000 */
+            if (((insn >> 6) & 0b1111111111) == 0b0) {
+                /*                      000000__ ________ 00000000 00011000 */
+                instruction = new MULT(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11001:
+            /*                          000000__ ________ ________ __011001 */
+            if (((insn >> 6) & 0b1111111111) == 0b0) {
+                /*                      000000__ ________ 00000000 00011001 */
+                instruction = new MULTU(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11010:
+            /*                          000000__ ________ ________ __011010 */
+            if (((insn >> 6) & 0b1111111111) == 0b0) {
+                /*                      000000__ ________ 00000000 00011010 */
+                instruction = new DIV(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11011:
+            /*                          000000__ ________ ________ __011011 */
+            if (((insn >> 6) & 0b1111111111) == 0b0) {
+                /*                      000000__ ________ 00000000 00011011 */
+                instruction = new DIVU(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11100:
+            /*                          000000__ ________ ________ __011100 */
+            if (((insn >> 6) & 0b1111111111) == 0b0) {
+                /*                      000000__ ________ 00000000 00011100 */
+                instruction = new DMULT(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11101:
+            /*                          000000__ ________ ________ __011101 */
+            if (((insn >> 6) & 0b1111111111) == 0b0) {
+                /*                      000000__ ________ 00000000 00011101 */
+                instruction = new DMULTU(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11110:
+            /*                          000000__ ________ ________ __011110 */
+            if (((insn >> 6) & 0b1111111111) == 0b0) {
+                /*                      000000__ ________ 00000000 00011110 */
+                instruction = new DDIV(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11111:
+            /*                          000000__ ________ ________ __011111 */
+            if (((insn >> 6) & 0b1111111111) == 0b0) {
+                /*                      000000__ ________ 00000000 00011111 */
+                instruction = new DDIVU(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b100000:
+            /*                          000000__ ________ ________ __100000 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00100000 */
+                instruction = new ADD(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b100001:
+            /*                          000000__ ________ ________ __100001 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00100001 */
+                instruction = new ADDU(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b100010:
+            /*                          000000__ ________ ________ __100010 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00100010 */
+                instruction = new SUB(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b100011:
+            /*                          000000__ ________ ________ __100011 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00100011 */
+                instruction = new SUBU(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b100100:
+            /*                          000000__ ________ ________ __100100 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00100100 */
+                instruction = new AND(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b100101:
+            /*                          000000__ ________ ________ __100101 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00100101 */
+                instruction = new OR(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b100110:
+            /*                          000000__ ________ ________ __100110 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00100110 */
+                instruction = new XOR(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b100111:
+            /*                          000000__ ________ ________ __100111 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00100111 */
+                instruction = new NOR(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b101010:
+            /*                          000000__ ________ ________ __101010 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00101010 */
+                instruction = new SLT(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b101011:
+            /*                          000000__ ________ ________ __101011 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00101011 */
+                instruction = new SLTU(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b101100:
+            /*                          000000__ ________ ________ __101100 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00101100 */
+                instruction = new DADD(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b101101:
+            /*                          000000__ ________ ________ __101101 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00101101 */
+                instruction = new DADDU(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b101110:
+            /*                          000000__ ________ ________ __101110 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00101110 */
+                instruction = new DSUB(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b101111:
+            /*                          000000__ ________ ________ __101111 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      000000__ ________ _____000 00101111 */
+                instruction = new DSUBU(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b110000:
+            /*                          000000__ ________ ________ __110000 */
+            instruction = new TGE(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b110001:
+            /*                          000000__ ________ ________ __110001 */
+            instruction = new TGEU(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b110010:
+            /*                          000000__ ________ ________ __110010 */
+            instruction = new TLT(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b110011:
+            /*                          000000__ ________ ________ __110011 */
+            instruction = new TLTU(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b110100:
+            /*                          000000__ ________ ________ __110100 */
+            instruction = new TEQ(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b110110:
+            /*                          000000__ ________ ________ __110110 */
+            instruction = new TNE(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b111000:
+            /*                          000000__ ________ ________ __111000 */
+            if (((insn >> 21) & 0b11111) == 0b0) {
+                /*                      00000000 000_____ ________ __111000 */
+                instruction = new DSLL(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b111010:
+            /*                          000000__ ________ ________ __111010 */
+            if (((insn >> 21) & 0b11111) == 0b0) {
+                /*                      00000000 000_____ ________ __111010 */
+                instruction = new DSRL(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b111011:
+            /*                          000000__ ________ ________ __111011 */
+            if (((insn >> 21) & 0b11111) == 0b0) {
+                /*                      00000000 000_____ ________ __111011 */
+                instruction = new DSRA(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b111100:
+            /*                          000000__ ________ ________ __111100 */
+            if (((insn >> 21) & 0b11111) == 0b0) {
+                /*                      00000000 000_____ ________ __111100 */
+                instruction = new DSLL32(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b111110:
+            /*                          000000__ ________ ________ __111110 */
+            if (((insn >> 21) & 0b11111) == 0b0) {
+                /*                      00000000 000_____ ________ __111110 */
+                instruction = new DSRL32(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b111111:
+            /*                          000000__ ________ ________ __111111 */
+            if (((insn >> 21) & 0b11111) == 0b0) {
+                /*                      00000000 000_____ ________ __111111 */
+                instruction = new DSRA32(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        }
+        break;
+    case 0b1:
+        /*                              000001__ ________ ________ ________ */
+        switch ((insn >> 16) & 0b11111) {
+        case 0b0:
+            /*                          000001__ ___00000 ________ ________ */
+            instruction = new BLTZ(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b1:
+            /*                          000001__ ___00001 ________ ________ */
+            instruction = new BGEZ(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b10:
+            /*                          000001__ ___00010 ________ ________ */
+            instruction = new BLTZL(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11:
+            /*                          000001__ ___00011 ________ ________ */
+            instruction = new BGEZL(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b1000:
+            /*                          000001__ ___01000 ________ ________ */
+            instruction = new TGEI(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b1001:
+            /*                          000001__ ___01001 ________ ________ */
+            instruction = new TGEIU(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b1010:
+            /*                          000001__ ___01010 ________ ________ */
+            instruction = new TLTI(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b1011:
+            /*                          000001__ ___01011 ________ ________ */
+            instruction = new TLTIU(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b1100:
+            /*                          000001__ ___01100 ________ ________ */
+            instruction = new TEQI(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b1110:
+            /*                          000001__ ___01110 ________ ________ */
+            instruction = new TNEI(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b10000:
+            /*                          000001__ ___10000 ________ ________ */
+            instruction = new BLTZAL(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b10001:
+            /*                          000001__ ___10001 ________ ________ */
+            instruction = new BGEZAL(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b10010:
+            /*                          000001__ ___10010 ________ ________ */
+            instruction = new BLTZALL(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b10011:
+            /*                          000001__ ___10011 ________ ________ */
+            instruction = new BGEZALL(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        }
+        break;
+    case 0b10:
+        /*                              000010__ ________ ________ ________ */
+        instruction = new J(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b11:
+        /*                              000011__ ________ ________ ________ */
+        instruction = new JAL(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b100:
+        /*                              000100__ ________ ________ ________ */
+        instruction = new BEQ(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b101:
+        /*                              000101__ ________ ________ ________ */
+        instruction = new BNE(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b110:
+        /*                              000110__ ________ ________ ________ */
+        if (((insn >> 16) & 0b11111) == 0b0) {
+            /*                          000110__ ___00000 ________ ________ */
+            instruction = new BLEZ(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+        }
+        break;
+    case 0b111:
+        /*                              000111__ ________ ________ ________ */
+        if (((insn >> 16) & 0b11111) == 0b0) {
+            /*                          000111__ ___00000 ________ ________ */
+            instruction = new BGTZ(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+        }
+        break;
+    case 0b1000:
+        /*                              001000__ ________ ________ ________ */
+        instruction = new ADDI(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b1001:
+        /*                              001001__ ________ ________ ________ */
+        instruction = new ADDIU(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b1010:
+        /*                              001010__ ________ ________ ________ */
+        instruction = new SLTI(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b1011:
+        /*                              001011__ ________ ________ ________ */
+        instruction = new SLTIU(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b1100:
+        /*                              001100__ ________ ________ ________ */
+        instruction = new ANDI(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b1101:
+        /*                              001101__ ________ ________ ________ */
+        instruction = new ORI(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b1110:
+        /*                              001110__ ________ ________ ________ */
+        instruction = new XORI(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b1111:
+        /*                              001111__ ________ ________ ________ */
+        if (((insn >> 21) & 0b11111) == 0b0) {
+            /*                          00111100 000_____ ________ ________ */
+            instruction = new LUI(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+        }
+        break;
+    case 0b10000:
+        /*                              010000__ ________ ________ ________ */
+        instruction = new COP0(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b10001:
+        /*                              010001__ ________ ________ ________ */
+        switch ((insn >> 21) & 0b11111) {
+        case 0b0:
+            /*                          01000100 000_____ ________ ________ */
+            if ((insn & 0b11111111111) == 0b0) {
+                /*                      01000100 000_____ _____000 00000000 */
+                instruction = new MFC1(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b1:
+            /*                          01000100 001_____ ________ ________ */
+            if ((insn & 0b11111111111) == 0b0) {
+                /*                      01000100 001_____ _____000 00000000 */
+                instruction = new DMFC1(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10:
+            /*                          01000100 010_____ ________ ________ */
+            if ((insn & 0b11111111111) == 0b0) {
+                /*                      01000100 010_____ _____000 00000000 */
+                instruction = new CFC1(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b100:
+            /*                          01000100 100_____ ________ ________ */
+            if ((insn & 0b11111111111) == 0b0) {
+                /*                      01000100 100_____ _____000 00000000 */
+                instruction = new MTC1(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b101:
+            /*                          01000100 101_____ ________ ________ */
+            if ((insn & 0b11111111111) == 0b0) {
+                /*                      01000100 101_____ _____000 00000000 */
+                instruction = new DMTC1(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b110:
+            /*                          01000100 110_____ ________ ________ */
+            if ((insn & 0b11111111111) == 0b0) {
+                /*                      01000100 110_____ _____000 00000000 */
+                instruction = new CTC1(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b1000:
+            /*                          01000101 000_____ ________ ________ */
+            switch ((insn >> 16) & 0b11111) {
+            case 0b0:
+                /*                      01000101 00000000 ________ ________ */
+                instruction = new BC1F(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b1:
+                /*                      01000101 00000001 ________ ________ */
+                instruction = new BC1T(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b10:
+                /*                      01000101 00000010 ________ ________ */
+                instruction = new BC1FL(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b11:
+                /*                      01000101 00000011 ________ ________ */
+                instruction = new BC1TL(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            }
+            break;
+        case 0b10000:
+            /*                          01000110 000_____ ________ ________ */
+            switch (insn & 0b111111) {
+            case 0b0:
+                /*                      01000110 000_____ ________ __000000 */
+                instruction = new ADD_S(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b1:
+                /*                      01000110 000_____ ________ __000001 */
+                instruction = new SUB_S(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b10:
+                /*                      01000110 000_____ ________ __000010 */
+                instruction = new MUL_S(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b11:
+                /*                      01000110 000_____ ________ __000011 */
+                instruction = new DIV_S(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b100:
+                /*                      01000110 000_____ ________ __000100 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __000100 */
+                    instruction = new SQRT_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b101:
+                /*                      01000110 000_____ ________ __000101 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __000101 */
+                    instruction = new ABS_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110:
+                /*                      01000110 000_____ ________ __000110 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __000110 */
+                    instruction = new MOV_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111:
+                /*                      01000110 000_____ ________ __000111 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __000111 */
+                    instruction = new NEG_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1000:
+                /*                      01000110 000_____ ________ __001000 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __001000 */
+                    instruction = new ROUND_L_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1001:
+                /*                      01000110 000_____ ________ __001001 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __001001 */
+                    instruction = new TRUNC_L_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1010:
+                /*                      01000110 000_____ ________ __001010 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __001010 */
+                    instruction = new CEIL_L_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1011:
+                /*                      01000110 000_____ ________ __001011 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __001011 */
+                    instruction = new FLOOR_L_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1100:
+                /*                      01000110 000_____ ________ __001100 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __001100 */
+                    instruction = new ROUND_W_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1101:
+                /*                      01000110 000_____ ________ __001101 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __001101 */
+                    instruction = new TRUNC_W_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1110:
+                /*                      01000110 000_____ ________ __001110 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __001110 */
+                    instruction = new CEIL_W_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1111:
+                /*                      01000110 000_____ ________ __001111 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __001111 */
+                    instruction = new FLOOR_W_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b100001:
+                /*                      01000110 000_____ ________ __100001 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __100001 */
+                    instruction = new CVT_D_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b100100:
+                /*                      01000110 000_____ ________ __100100 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __100100 */
+                    instruction = new CVT_W_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b100101:
+                /*                      01000110 000_____ ________ __100101 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00000000 ________ __100101 */
+                    instruction = new CVT_L_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110000:
+                /*                      01000110 000_____ ________ __110000 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00110000 */
+                    instruction = new C_F_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110001:
+                /*                      01000110 000_____ ________ __110001 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00110001 */
+                    instruction = new C_UN_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110010:
+                /*                      01000110 000_____ ________ __110010 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00110010 */
+                    instruction = new C_EQ_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110011:
+                /*                      01000110 000_____ ________ __110011 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00110011 */
+                    instruction = new C_UEQ_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110100:
+                /*                      01000110 000_____ ________ __110100 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00110100 */
+                    instruction = new C_OLT_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110101:
+                /*                      01000110 000_____ ________ __110101 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00110101 */
+                    instruction = new C_ULT_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110110:
+                /*                      01000110 000_____ ________ __110110 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00110110 */
+                    instruction = new C_OLE_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110111:
+                /*                      01000110 000_____ ________ __110111 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00110111 */
+                    instruction = new C_ULE_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111000:
+                /*                      01000110 000_____ ________ __111000 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00111000 */
+                    instruction = new C_SF_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111001:
+                /*                      01000110 000_____ ________ __111001 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00111001 */
+                    instruction = new C_NGLE_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111010:
+                /*                      01000110 000_____ ________ __111010 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00111010 */
+                    instruction = new C_SEQ_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111011:
+                /*                      01000110 000_____ ________ __111011 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00111011 */
+                    instruction = new C_NGL_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111100:
+                /*                      01000110 000_____ ________ __111100 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00111100 */
+                    instruction = new C_LT_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111101:
+                /*                      01000110 000_____ ________ __111101 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00111101 */
+                    instruction = new C_NGE_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111110:
+                /*                      01000110 000_____ ________ __111110 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00111110 */
+                    instruction = new C_LE_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111111:
+                /*                      01000110 000_____ ________ __111111 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 000_____ _____000 00111111 */
+                    instruction = new C_NGT_S(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            }
+            break;
+        case 0b10001:
+            /*                          01000110 001_____ ________ ________ */
+            switch (insn & 0b111111) {
+            case 0b0:
+                /*                      01000110 001_____ ________ __000000 */
+                instruction = new ADD_D(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b1:
+                /*                      01000110 001_____ ________ __000001 */
+                instruction = new SUB_D(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b10:
+                /*                      01000110 001_____ ________ __000010 */
+                instruction = new MUL_D(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b11:
+                /*                      01000110 001_____ ________ __000011 */
+                instruction = new DIV_D(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b100:
+                /*                      01000110 001_____ ________ __000100 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __000100 */
+                    instruction = new SQRT_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b101:
+                /*                      01000110 001_____ ________ __000101 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __000101 */
+                    instruction = new ABS_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110:
+                /*                      01000110 001_____ ________ __000110 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __000110 */
+                    instruction = new MOV_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111:
+                /*                      01000110 001_____ ________ __000111 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __000111 */
+                    instruction = new NEG_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1000:
+                /*                      01000110 001_____ ________ __001000 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __001000 */
+                    instruction = new ROUND_L_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1001:
+                /*                      01000110 001_____ ________ __001001 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __001001 */
+                    instruction = new TRUNC_L_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1010:
+                /*                      01000110 001_____ ________ __001010 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __001010 */
+                    instruction = new CEIL_L_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1011:
+                /*                      01000110 001_____ ________ __001011 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __001011 */
+                    instruction = new FLOOR_L_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1100:
+                /*                      01000110 001_____ ________ __001100 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __001100 */
+                    instruction = new ROUND_W_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1101:
+                /*                      01000110 001_____ ________ __001101 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __001101 */
+                    instruction = new TRUNC_W_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1110:
+                /*                      01000110 001_____ ________ __001110 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __001110 */
+                    instruction = new CEIL_W_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b1111:
+                /*                      01000110 001_____ ________ __001111 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __001111 */
+                    instruction = new FLOOR_W_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b100000:
+                /*                      01000110 001_____ ________ __100000 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __100000 */
+                    instruction = new CVT_S_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b100100:
+                /*                      01000110 001_____ ________ __100100 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __100100 */
+                    instruction = new CVT_W_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b100101:
+                /*                      01000110 001_____ ________ __100101 */
+                if (((insn >> 16) & 0b11111) == 0b0) {
+                    /*                  01000110 00100000 ________ __100101 */
+                    instruction = new CVT_L_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110000:
+                /*                      01000110 001_____ ________ __110000 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00110000 */
+                    instruction = new C_F_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110001:
+                /*                      01000110 001_____ ________ __110001 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00110001 */
+                    instruction = new C_UN_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110010:
+                /*                      01000110 001_____ ________ __110010 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00110010 */
+                    instruction = new C_EQ_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110011:
+                /*                      01000110 001_____ ________ __110011 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00110011 */
+                    instruction = new C_UEQ_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110100:
+                /*                      01000110 001_____ ________ __110100 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00110100 */
+                    instruction = new C_OLT_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110101:
+                /*                      01000110 001_____ ________ __110101 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00110101 */
+                    instruction = new C_ULT_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110110:
+                /*                      01000110 001_____ ________ __110110 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00110110 */
+                    instruction = new C_OLE_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b110111:
+                /*                      01000110 001_____ ________ __110111 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00110111 */
+                    instruction = new C_ULE_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111000:
+                /*                      01000110 001_____ ________ __111000 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00111000 */
+                    instruction = new C_SF_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111001:
+                /*                      01000110 001_____ ________ __111001 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00111001 */
+                    instruction = new C_NGLE_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111010:
+                /*                      01000110 001_____ ________ __111010 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00111010 */
+                    instruction = new C_SEQ_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111011:
+                /*                      01000110 001_____ ________ __111011 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00111011 */
+                    instruction = new C_NGL_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111100:
+                /*                      01000110 001_____ ________ __111100 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00111100 */
+                    instruction = new C_LT_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111101:
+                /*                      01000110 001_____ ________ __111101 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00111101 */
+                    instruction = new C_NGE_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111110:
+                /*                      01000110 001_____ ________ __111110 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00111110 */
+                    instruction = new C_LE_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            case 0b111111:
+                /*                      01000110 001_____ ________ __111111 */
+                if (((insn >> 6) & 0b11111) == 0b0) {
+                    /*                  01000110 001_____ _____000 00111111 */
+                    instruction = new C_NGT_D(insn);
+                    if (instruction->disas_output(ctx)) {
+                        ret = 4;
+                    }
+                    delete instruction;
+                }
+                break;
+            }
+            break;
+        case 0b10100:
+            /*                          01000110 100_____ ________ ________ */
+            switch (insn & 0b111110000000000111111) {
+            case 0b100000:
+                /*                      01000110 10000000 ________ __100000 */
+                instruction = new CVT_S_W(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b100001:
+                /*                      01000110 10000000 ________ __100001 */
+                instruction = new CVT_D_W(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            }
+            break;
+        case 0b10101:
+            /*                          01000110 101_____ ________ ________ */
+            switch (insn & 0b111110000000000111111) {
+            case 0b100000:
+                /*                      01000110 10100000 ________ __100000 */
+                instruction = new CVT_S_L(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b100001:
+                /*                      01000110 10100000 ________ __100001 */
+                instruction = new CVT_D_L(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            }
+            break;
+        }
+        break;
+    case 0b10010:
+        /*                              010010__ ________ ________ ________ */
+        switch (insn & 0b11111000000000000000111111) {
+        case 0b11000000000000000000000000:
+            /*                          01001011 000_____ ________ __000000 */
+            instruction = new PADDSH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000000001:
+            /*                          01001011 000_____ ________ __000001 */
+            instruction = new PSUBSH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000000010:
+            /*                          01001011 000_____ ________ __000010 */
+            instruction = new PSHUFH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000000011:
+            /*                          01001011 000_____ ________ __000011 */
+            instruction = new PUNPCKLHW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000001000:
+            /*                          01001011 000_____ ________ __001000 */
+            instruction = new PAVGH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000001001:
+            /*                          01001011 000_____ ________ __001001 */
+            instruction = new PCMPEQW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000001010:
+            /*                          01001011 000_____ ________ __001010 */
+            instruction = new PSLLW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000001011:
+            /*                          01001011 000_____ ________ __001011 */
+            instruction = new PSRLW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000001100:
+            /*                          01001011 000_____ ________ __001100 */
+            instruction = new ADDU_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000001101:
+            /*                          01001011 000_____ ________ __001101 */
+            instruction = new SUBU_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000001110:
+            /*                          01001011 000_____ ________ __001110 */
+            instruction = new SLI_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11000000000000000000001111:
+            /*                          01001011 000_____ ________ __001111 */
+            instruction = new SRL_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000000000:
+            /*                          01001011 001_____ ________ __000000 */
+            instruction = new PADDUSH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000000001:
+            /*                          01001011 001_____ ________ __000001 */
+            instruction = new PSUBUSH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000000010:
+            /*                          01001011 001_____ ________ __000010 */
+            instruction = new PACKSSWH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000000011:
+            /*                          01001011 001_____ ________ __000011 */
+            instruction = new PUNPCKHHW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000001000:
+            /*                          01001011 001_____ ________ __001000 */
+            instruction = new PAVGB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000001001:
+            /*                          01001011 001_____ ________ __001001 */
+            instruction = new PCMPGTW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000001010:
+            /*                          01001011 001_____ ________ __001010 */
+            instruction = new PSLLH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000001011:
+            /*                          01001011 001_____ ________ __001011 */
+            instruction = new PSRLH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000001100:
+            /*                          01001011 001_____ ________ __001100 */
+            instruction = new OR_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000001101:
+            /*                          01001011 001_____ ________ __001101 */
+            instruction = new PASUBUB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000001110:
+            /*                          01001011 001_____ ________ __001110 */
+            instruction = new DSLL_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11001000000000000000001111:
+            /*                          01001011 001_____ ________ __001111 */
+            instruction = new DSRL_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000000000:
+            /*                          01001011 010_____ ________ __000000 */
+            instruction = new PADDH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000000001:
+            /*                          01001011 010_____ ________ __000001 */
+            instruction = new PSUBH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000000010:
+            /*                          01001011 010_____ ________ __000010 */
+            instruction = new PACKSSHB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000000011:
+            /*                          01001011 010_____ ________ __000011 */
+            instruction = new PUNPCKLBH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000001000:
+            /*                          01001011 010_____ ________ __001000 */
+            instruction = new PMAXSH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000001001:
+            /*                          01001011 010_____ ________ __001001 */
+            instruction = new PCMPEQH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000001010:
+            /*                          01001011 010_____ ________ __001010 */
+            instruction = new PMULLH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000001011:
+            /*                          01001011 010_____ ________ __001011 */
+            instruction = new PSRAW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000001100:
+            /*                          01001011 010_____ ________ __001100 */
+            instruction = new ADD_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000001101:
+            /*                          01001011 010_____ ________ __001101 */
+            instruction = new SUB_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000001110:
+            /*                          01001011 010_____ ________ __001110 */
+            instruction = new PEXTRH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11010000000000000000001111:
+            /*                          01001011 010_____ ________ __001111 */
+            instruction = new SRA_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000000000:
+            /*                          01001011 011_____ ________ __000000 */
+            instruction = new PADDW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000000001:
+            /*                          01001011 011_____ ________ __000001 */
+            instruction = new PSUBW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000000010:
+            /*                          01001011 011_____ ________ __000010 */
+            instruction = new PACKUSHB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000000011:
+            /*                          01001011 011_____ ________ __000011 */
+            instruction = new PUNPCKHBH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000001000:
+            /*                          01001011 011_____ ________ __001000 */
+            instruction = new PMINSH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000001001:
+            /*                          01001011 011_____ ________ __001001 */
+            instruction = new PCMPGTH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000001010:
+            /*                          01001011 011_____ ________ __001010 */
+            instruction = new PMULHH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000001011:
+            /*                          01001011 011_____ ________ __001011 */
+            instruction = new PSRAH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000001100:
+            /*                          01001011 011_____ ________ __001100 */
+            instruction = new DADD_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000001101:
+            /*                          01001011 011_____ ________ __001101 */
+            instruction = new DSUB_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000001110:
+            /*                          01001011 011_____ ________ __001110 */
+            instruction = new PMADDHW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11011000000000000000001111:
+            /*                          01001011 011_____ ________ __001111 */
+            instruction = new DSRA_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000000000:
+            /*                          01001011 100_____ ________ __000000 */
+            instruction = new PADDSB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000000001:
+            /*                          01001011 100_____ ________ __000001 */
+            instruction = new PSUBSB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000000010:
+            /*                          01001011 100_____ ________ __000010 */
+            instruction = new XOR_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000000011:
+            /*                          01001011 100_____ ________ __000011 */
+            instruction = new PINSRH_0(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000001000:
+            /*                          01001011 100_____ ________ __001000 */
+            instruction = new PMAXUB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000001001:
+            /*                          01001011 100_____ ________ __001001 */
+            instruction = new PCMPEQB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000001010:
+            /*                          01001011 100_____ ________ __001010 */
+            instruction = new PMULUW(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000001011:
+            /*                          01001011 100_____ ________ __001011 */
+            instruction = new PUNPCKLWD(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000001100:
+            /*                          01001011 100_____ ________ __001100 */
+            instruction = new SEQU_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000001101:
+            /*                          01001011 100_____ ________ __001101 */
+            instruction = new SLTU_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000001110:
+            /*                          01001011 100_____ ________ __001110 */
+            instruction = new SLEU_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11100000000000000000001111:
+            /*                          01001011 100_____ ________ __001111 */
+            if (((insn >> 16) & 0b11111) == 0b0) {
+                /*                      01001011 10000000 ________ __001111 */
+                instruction = new BIADD(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11101000000000000000000000:
+            /*                          01001011 101_____ ________ __000000 */
+            instruction = new PADDUSB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000000001:
+            /*                          01001011 101_____ ________ __000001 */
+            instruction = new PSUBUSB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000000010:
+            /*                          01001011 101_____ ________ __000010 */
+            instruction = new NOR_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000000011:
+            /*                          01001011 101_____ ________ __000011 */
+            instruction = new PINSRH_1(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000001000:
+            /*                          01001011 101_____ ________ __001000 */
+            instruction = new PMINUB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000001001:
+            /*                          01001011 101_____ ________ __001001 */
+            instruction = new PCMPGTB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000001010:
+            /*                          01001011 101_____ ________ __001010 */
+            instruction = new PMULHUH(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000001011:
+            /*                          01001011 101_____ ________ __001011 */
+            instruction = new PUNPCKHWD(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000001100:
+            /*                          01001011 101_____ ________ __001100 */
+            instruction = new SEQ_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000001101:
+            /*                          01001011 101_____ ________ __001101 */
+            instruction = new SLT_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000001110:
+            /*                          01001011 101_____ ________ __001110 */
+            instruction = new SLE_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11101000000000000000001111:
+            /*                          01001011 101_____ ________ __001111 */
+            if (((insn >> 16) & 0b11111) == 0b0) {
+                /*                      01001011 10100000 ________ __001111 */
+                instruction = new PMOVMSKB(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11110000000000000000000000:
+            /*                          01001011 110_____ ________ __000000 */
+            instruction = new PADDB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11110000000000000000000001:
+            /*                          01001011 110_____ ________ __000001 */
+            instruction = new PSUBB(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11110000000000000000000010:
+            /*                          01001011 110_____ ________ __000010 */
+            instruction = new AND_CP2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11110000000000000000000011:
+            /*                          01001011 110_____ ________ __000011 */
+            instruction = new PINSRH_2(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11111000000000000000000000:
+            /*                          01001011 111_____ ________ __000000 */
+            instruction = new PADDD(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11111000000000000000000001:
+            /*                          01001011 111_____ ________ __000001 */
+            instruction = new PSUBD(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11111000000000000000000010:
+            /*                          01001011 111_____ ________ __000010 */
+            instruction = new PANDN(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        case 0b11111000000000000000000011:
+            /*                          01001011 111_____ ________ __000011 */
+            instruction = new PINSRH_3(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+            break;
+        }
+        break;
+    case 0b10011:
+        /*                              010011__ ________ ________ ________ */
+        instruction = new COP3(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b10100:
+        /*                              010100__ ________ ________ ________ */
+        instruction = new BEQL(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b10101:
+        /*                              010101__ ________ ________ ________ */
+        instruction = new BNEL(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b10110:
+        /*                              010110__ ________ ________ ________ */
+        if (((insn >> 16) & 0b11111) == 0b0) {
+            /*                          010110__ ___00000 ________ ________ */
+            instruction = new BLEZL(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+        }
+        break;
+    case 0b10111:
+        /*                              010111__ ________ ________ ________ */
+        if (((insn >> 16) & 0b11111) == 0b0) {
+            /*                          010111__ ___00000 ________ ________ */
+            instruction = new BGTZL(insn);
+            if (instruction->disas_output(ctx)) {
+                ret = 4;
+            }
+            delete instruction;
+        }
+        break;
+    case 0b11000:
+        /*                              011000__ ________ ________ ________ */
+        instruction = new DADDI(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b11001:
+        /*                              011001__ ________ ________ ________ */
+        instruction = new DADDIU(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b11010:
+        /*                              011010__ ________ ________ ________ */
+        instruction = new LDL(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b11011:
+        /*                              011011__ ________ ________ ________ */
+        instruction = new LDR(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b11100:
+        /*                              011100__ ________ ________ ________ */
+        switch (insn & 0b111111) {
+        case 0b10000:
+            /*                          011100__ ________ ________ __010000 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00010000 */
+                instruction = new MULT_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10001:
+            /*                          011100__ ________ ________ __010001 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00010001 */
+                instruction = new DMULT_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10010:
+            /*                          011100__ ________ ________ __010010 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00010010 */
+                instruction = new MULTU_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10011:
+            /*                          011100__ ________ ________ __010011 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00010011 */
+                instruction = new DMULTU_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10100:
+            /*                          011100__ ________ ________ __010100 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00010100 */
+                instruction = new DIV_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10101:
+            /*                          011100__ ________ ________ __010101 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00010101 */
+                instruction = new DDIV_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10110:
+            /*                          011100__ ________ ________ __010110 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00010110 */
+                instruction = new DIVU_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b10111:
+            /*                          011100__ ________ ________ __010111 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00010111 */
+                instruction = new DDIVU_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11000:
+            /*                          011100__ ________ ________ __011000 */
+            switch ((insn >> 21) & 0b11111) {
+            case 0b10000:
+                /*                      01110010 000_____ ________ __011000 */
+                instruction = new MADD_S(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b10001:
+                /*                      01110010 001_____ ________ __011000 */
+                instruction = new MADD_D(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            }
+            break;
+        case 0b11001:
+            /*                          011100__ ________ ________ __011001 */
+            switch ((insn >> 21) & 0b11111) {
+            case 0b10000:
+                /*                      01110010 000_____ ________ __011001 */
+                instruction = new MSUB_S(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b10001:
+                /*                      01110010 001_____ ________ __011001 */
+                instruction = new MSUB_D(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            }
+            break;
+        case 0b11010:
+            /*                          011100__ ________ ________ __011010 */
+            switch ((insn >> 21) & 0b11111) {
+            case 0b10000:
+                /*                      01110010 000_____ ________ __011010 */
+                instruction = new NMADD_S(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b10001:
+                /*                      01110010 001_____ ________ __011010 */
+                instruction = new NMADD_D(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            }
+            break;
+        case 0b11011:
+            /*                          011100__ ________ ________ __011011 */
+            switch ((insn >> 21) & 0b11111) {
+            case 0b10000:
+                /*                      01110010 000_____ ________ __011011 */
+                instruction = new NMSUB_S(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            case 0b10001:
+                /*                      01110010 001_____ ________ __011011 */
+                instruction = new NMSUB_D(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+                break;
+            }
+            break;
+        case 0b11100:
+            /*                          011100__ ________ ________ __011100 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00011100 */
+                instruction = new MOD_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11101:
+            /*                          011100__ ________ ________ __011101 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00011101 */
+                instruction = new DMOD_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11110:
+            /*                          011100__ ________ ________ __011110 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00011110 */
+                instruction = new MODU_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        case 0b11111:
+            /*                          011100__ ________ ________ __011111 */
+            if (((insn >> 6) & 0b11111) == 0b0) {
+                /*                      011100__ ________ _____000 00011111 */
+                instruction = new DMODU_G(insn);
+                if (instruction->disas_output(ctx)) {
+                    ret = 4;
+                }
+                delete instruction;
+            }
+            break;
+        }
+        break;
+    case 0b100000:
+        /*                              100000__ ________ ________ ________ */
+        instruction = new LB(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b100001:
+        /*                              100001__ ________ ________ ________ */
+        instruction = new LH(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b100010:
+        /*                              100010__ ________ ________ ________ */
+        instruction = new LWL(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b100011:
+        /*                              100011__ ________ ________ ________ */
+        instruction = new LW(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b100100:
+        /*                              100100__ ________ ________ ________ */
+        instruction = new LBU(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b100101:
+        /*                              100101__ ________ ________ ________ */
+        instruction = new LHU(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b100110:
+        /*                              100110__ ________ ________ ________ */
+        instruction = new LWR(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b100111:
+        /*                              100111__ ________ ________ ________ */
+        instruction = new LWU(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b101000:
+        /*                              101000__ ________ ________ ________ */
+        instruction = new SB(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b101001:
+        /*                              101001__ ________ ________ ________ */
+        instruction = new SH(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b101010:
+        /*                              101010__ ________ ________ ________ */
+        instruction = new SWL(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b101011:
+        /*                              101011__ ________ ________ ________ */
+        instruction = new SW(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b101100:
+        /*                              101100__ ________ ________ ________ */
+        instruction = new SDL(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b101101:
+        /*                              101101__ ________ ________ ________ */
+        instruction = new SDR(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b101110:
+        /*                              101110__ ________ ________ ________ */
+        instruction = new SWR(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b110000:
+        /*                              110000__ ________ ________ ________ */
+        instruction = new LL(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b110001:
+        /*                              110001__ ________ ________ ________ */
+        instruction = new LWC1(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b110010:
+        /*                              110010__ ________ ________ ________ */
+        instruction = new LWC2(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b110011:
+        /*                              110011__ ________ ________ ________ */
+        instruction = new LWC3(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b110100:
+        /*                              110100__ ________ ________ ________ */
+        instruction = new LLD(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b110101:
+        /*                              110101__ ________ ________ ________ */
+        instruction = new LDC1(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b110110:
+        /*                              110110__ ________ ________ ________ */
+        instruction = new LDC2(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b110111:
+        /*                              110111__ ________ ________ ________ */
+        instruction = new LD(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b111000:
+        /*                              111000__ ________ ________ ________ */
+        instruction = new SC(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b111001:
+        /*                              111001__ ________ ________ ________ */
+        instruction = new SWC1(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b111010:
+        /*                              111010__ ________ ________ ________ */
+        instruction = new SWC2(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b111011:
+        /*                              111011__ ________ ________ ________ */
+        instruction = new SWC3(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b111100:
+        /*                              111100__ ________ ________ ________ */
+        instruction = new SCD(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b111101:
+        /*                              111101__ ________ ________ ________ */
+        instruction = new SDC1(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b111110:
+        /*                              111110__ ________ ________ ________ */
+        instruction = new SDC2(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    case 0b111111:
+        /*                              111111__ ________ ________ ________ */
+        instruction = new SD(insn);
+        if (instruction->disas_output(ctx)) {
+            ret = 4;
+        }
+        delete instruction;
+        break;
+    }
+    return ret;
+}
diff --git a/disas/loongson2f.h b/disas/loongson2f.h
new file mode 100644
index 0000000000..dd244649c4
--- /dev/null
+++ b/disas/loongson2f.h
@@ -0,0 +1,2542 @@
+#ifndef DISAS_LOONGSON2F_H
+#define DISAS_LOONGSON2F_H
+
+#include "disas/dis-asm.h"
+
+class Fields32
+{
+public:
+    virtual void decode_fields32(uint32_t insn) = 0;
+};
+
+class Fields32RdRsRt : public Fields32
+{
+protected:
+    int rd;
+    int rs;
+    int rt;
+public:
+    int getRd();
+    int getRs();
+    int getRt();
+};
+
+class Fields32RdRsRtD0 : public Fields32RdRsRt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32ImmRsRt : public Fields32
+{
+protected:
+    int imm;
+    int rs;
+    int rt;
+public:
+    int getImm();
+    int getRs();
+    int getRt();
+};
+
+class Fields32ImmRsRtD0 : public Fields32ImmRsRt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32ImmRsRtD1 : public Fields32ImmRsRt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32RdRs : public Fields32
+{
+protected:
+    int rd;
+    int rs;
+public:
+    int getRd();
+    int getRs();
+};
+
+class Fields32RdRsD0 : public Fields32RdRs
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32Rs : public Fields32
+{
+protected:
+    int rs;
+public:
+    int getRs();
+};
+
+class Fields32RsD0 : public Fields32Rs
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32BaseOffsetRt : public Fields32
+{
+protected:
+    int base;
+    int offset;
+    int rt;
+public:
+    int getBase();
+    int getOffset();
+    int getRt();
+};
+
+class Fields32BaseOffsetRtD0 : public Fields32BaseOffsetRt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32ImmRt : public Fields32
+{
+protected:
+    int imm;
+    int rt;
+public:
+    int getImm();
+    int getRt();
+};
+
+class Fields32ImmRtD0 : public Fields32ImmRt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32Rd : public Fields32
+{
+protected:
+    int rd;
+public:
+    int getRd();
+};
+
+class Fields32RdD0 : public Fields32Rd
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32Stype : public Fields32
+{
+protected:
+    int stype;
+public:
+    int getStype();
+};
+
+class Fields32StypeD0 : public Fields32Stype
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32CodeRsRt : public Fields32
+{
+protected:
+    int code;
+    int rs;
+    int rt;
+public:
+    int getCode();
+    int getRs();
+    int getRt();
+};
+
+class Fields32CodeRsRtD0 : public Fields32CodeRsRt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32ImmRs : public Fields32
+{
+protected:
+    int imm;
+    int rs;
+public:
+    int getImm();
+    int getRs();
+};
+
+class Fields32ImmRsD0 : public Fields32ImmRs
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32FdFs : public Fields32
+{
+protected:
+    int fd;
+    int fs;
+public:
+    int getFd();
+    int getFs();
+};
+
+class Fields32FdFsD0 : public Fields32FdFs
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32FdFsFt : public Fields32
+{
+protected:
+    int fd;
+    int fs;
+    int ft;
+public:
+    int getFd();
+    int getFs();
+    int getFt();
+};
+
+class Fields32FdFsFtD0 : public Fields32FdFsFt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32Offset : public Fields32
+{
+protected:
+    int offset;
+public:
+    int getOffset();
+};
+
+class Fields32OffsetD0 : public Fields32Offset
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32FsFt : public Fields32
+{
+protected:
+    int fs;
+    int ft;
+public:
+    int getFs();
+    int getFt();
+};
+
+class Fields32FsFtD0 : public Fields32FsFt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32FsRt : public Fields32
+{
+protected:
+    int fs;
+    int rt;
+public:
+    int getFs();
+    int getRt();
+};
+
+class Fields32FsRtD0 : public Fields32FsRt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32BaseFtOffset : public Fields32
+{
+protected:
+    int base;
+    int ft;
+    int offset;
+public:
+    int getBase();
+    int getFt();
+    int getOffset();
+};
+
+class Fields32BaseFtOffsetD0 : public Fields32BaseFtOffset
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32OffsetRsRt : public Fields32
+{
+protected:
+    int offset;
+    int rs;
+    int rt;
+public:
+    int getOffset();
+    int getRs();
+    int getRt();
+};
+
+class Fields32OffsetRsRtD0 : public Fields32OffsetRsRt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32OffsetRs : public Fields32
+{
+protected:
+    int offset;
+    int rs;
+public:
+    int getOffset();
+    int getRs();
+};
+
+class Fields32OffsetRsD0 : public Fields32OffsetRs
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32Code : public Fields32
+{
+protected:
+    int code;
+public:
+    int getCode();
+};
+
+class Fields32CodeD0 : public Fields32Code
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32Cop_fun : public Fields32
+{
+protected:
+    int cop_fun;
+public:
+    int getCop_fun();
+};
+
+class Fields32Cop_funD0 : public Fields32Cop_fun
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32RsRt : public Fields32
+{
+protected:
+    int rs;
+    int rt;
+public:
+    int getRs();
+    int getRt();
+};
+
+class Fields32RsRtD0 : public Fields32RsRt
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32RdRtSa : public Fields32
+{
+protected:
+    int rd;
+    int rt;
+    int sa;
+public:
+    int getRd();
+    int getRt();
+    int getSa();
+};
+
+class Fields32RdRtSaD0 : public Fields32RdRtSa
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Fields32Instr_index : public Fields32
+{
+protected:
+    int instr_index;
+public:
+    int getInstr_index();
+};
+
+class Fields32Instr_indexD0 : public Fields32Instr_index
+{
+public:
+    void decode_fields32(uint32_t insn);
+};
+
+class Instruction32
+{
+protected:
+    uint32_t opcode32;
+    uint32_t mask32;
+    Fields32 *fields32;
+
+    void getAlias(char *buffer, int regNo);
+public:
+    virtual bool disas_output(disassemble_info *info) = 0;
+    virtual ~Instruction32()  = 0;
+};
+
+class ADD : public Instruction32
+{
+public:
+    ADD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ADDI : public Instruction32
+{
+public:
+    ADDI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ADDIU : public Instruction32
+{
+public:
+    ADDIU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ADDU : public Instruction32
+{
+public:
+    ADDU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class AND : public Instruction32
+{
+public:
+    AND(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ANDI : public Instruction32
+{
+public:
+    ANDI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BEQ : public Instruction32
+{
+public:
+    BEQ(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BEQL : public Instruction32
+{
+public:
+    BEQL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BGEZ : public Instruction32
+{
+public:
+    BGEZ(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BGEZAL : public Instruction32
+{
+public:
+    BGEZAL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BGEZALL : public Instruction32
+{
+public:
+    BGEZALL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BGEZL : public Instruction32
+{
+public:
+    BGEZL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BGTZ : public Instruction32
+{
+public:
+    BGTZ(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BGTZL : public Instruction32
+{
+public:
+    BGTZL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BLEZ : public Instruction32
+{
+public:
+    BLEZ(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BLEZL : public Instruction32
+{
+public:
+    BLEZL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BLTZ : public Instruction32
+{
+public:
+    BLTZ(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BLTZAL : public Instruction32
+{
+public:
+    BLTZAL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BLTZALL : public Instruction32
+{
+public:
+    BLTZALL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BLTZL : public Instruction32
+{
+public:
+    BLTZL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BNE : public Instruction32
+{
+public:
+    BNE(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BNEL : public Instruction32
+{
+public:
+    BNEL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BREAK : public Instruction32
+{
+public:
+    BREAK(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class COP0 : public Instruction32
+{
+public:
+    COP0(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class COP3 : public Instruction32
+{
+public:
+    COP3(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DADD : public Instruction32
+{
+public:
+    DADD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DADDI : public Instruction32
+{
+public:
+    DADDI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DADDIU : public Instruction32
+{
+public:
+    DADDIU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DADDU : public Instruction32
+{
+public:
+    DADDU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DDIV : public Instruction32
+{
+public:
+    DDIV(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DDIVU : public Instruction32
+{
+public:
+    DDIVU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DIV : public Instruction32
+{
+public:
+    DIV(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DIVU : public Instruction32
+{
+public:
+    DIVU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DMULT : public Instruction32
+{
+public:
+    DMULT(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DMULTU : public Instruction32
+{
+public:
+    DMULTU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSLL : public Instruction32
+{
+public:
+    DSLL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSLL32 : public Instruction32
+{
+public:
+    DSLL32(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSLLV : public Instruction32
+{
+public:
+    DSLLV(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSRA : public Instruction32
+{
+public:
+    DSRA(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSRA32 : public Instruction32
+{
+public:
+    DSRA32(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSRAV : public Instruction32
+{
+public:
+    DSRAV(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSRL : public Instruction32
+{
+public:
+    DSRL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSRL32 : public Instruction32
+{
+public:
+    DSRL32(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSRLV : public Instruction32
+{
+public:
+    DSRLV(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSUB : public Instruction32
+{
+public:
+    DSUB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSUBU : public Instruction32
+{
+public:
+    DSUBU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class J : public Instruction32
+{
+public:
+    J(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class JAL : public Instruction32
+{
+public:
+    JAL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class JALR : public Instruction32
+{
+public:
+    JALR(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class JR : public Instruction32
+{
+public:
+    JR(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LB : public Instruction32
+{
+public:
+    LB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LBU : public Instruction32
+{
+public:
+    LBU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LD : public Instruction32
+{
+public:
+    LD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LDC2 : public Instruction32
+{
+public:
+    LDC2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LDL : public Instruction32
+{
+public:
+    LDL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LDR : public Instruction32
+{
+public:
+    LDR(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LH : public Instruction32
+{
+public:
+    LH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LHU : public Instruction32
+{
+public:
+    LHU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LL : public Instruction32
+{
+public:
+    LL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LLD : public Instruction32
+{
+public:
+    LLD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LUI : public Instruction32
+{
+public:
+    LUI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LW : public Instruction32
+{
+public:
+    LW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LWC2 : public Instruction32
+{
+public:
+    LWC2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LWC3 : public Instruction32
+{
+public:
+    LWC3(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LWL : public Instruction32
+{
+public:
+    LWL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LWR : public Instruction32
+{
+public:
+    LWR(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LWU : public Instruction32
+{
+public:
+    LWU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MFHI : public Instruction32
+{
+public:
+    MFHI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MFLO : public Instruction32
+{
+public:
+    MFLO(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MTHI : public Instruction32
+{
+public:
+    MTHI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MTLO : public Instruction32
+{
+public:
+    MTLO(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MULT : public Instruction32
+{
+public:
+    MULT(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MULTU : public Instruction32
+{
+public:
+    MULTU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class NOR : public Instruction32
+{
+public:
+    NOR(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class OR : public Instruction32
+{
+public:
+    OR(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ORI : public Instruction32
+{
+public:
+    ORI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SB : public Instruction32
+{
+public:
+    SB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SC : public Instruction32
+{
+public:
+    SC(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SCD : public Instruction32
+{
+public:
+    SCD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SD : public Instruction32
+{
+public:
+    SD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SDC2 : public Instruction32
+{
+public:
+    SDC2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SDL : public Instruction32
+{
+public:
+    SDL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SDR : public Instruction32
+{
+public:
+    SDR(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SH : public Instruction32
+{
+public:
+    SH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLL : public Instruction32
+{
+public:
+    SLL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLLV : public Instruction32
+{
+public:
+    SLLV(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLT : public Instruction32
+{
+public:
+    SLT(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLTI : public Instruction32
+{
+public:
+    SLTI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLTIU : public Instruction32
+{
+public:
+    SLTIU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLTU : public Instruction32
+{
+public:
+    SLTU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SRA : public Instruction32
+{
+public:
+    SRA(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SRAV : public Instruction32
+{
+public:
+    SRAV(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SRL : public Instruction32
+{
+public:
+    SRL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SRLV : public Instruction32
+{
+public:
+    SRLV(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SUB : public Instruction32
+{
+public:
+    SUB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SUBU : public Instruction32
+{
+public:
+    SUBU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SW : public Instruction32
+{
+public:
+    SW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SWC2 : public Instruction32
+{
+public:
+    SWC2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SWC3 : public Instruction32
+{
+public:
+    SWC3(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SWL : public Instruction32
+{
+public:
+    SWL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SWR : public Instruction32
+{
+public:
+    SWR(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SYNC : public Instruction32
+{
+public:
+    SYNC(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SYSCALL : public Instruction32
+{
+public:
+    SYSCALL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TEQ : public Instruction32
+{
+public:
+    TEQ(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TEQI : public Instruction32
+{
+public:
+    TEQI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TGE : public Instruction32
+{
+public:
+    TGE(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TGEI : public Instruction32
+{
+public:
+    TGEI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TGEIU : public Instruction32
+{
+public:
+    TGEIU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TGEU : public Instruction32
+{
+public:
+    TGEU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TLT : public Instruction32
+{
+public:
+    TLT(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TLTI : public Instruction32
+{
+public:
+    TLTI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TLTIU : public Instruction32
+{
+public:
+    TLTIU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TLTU : public Instruction32
+{
+public:
+    TLTU(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TNE : public Instruction32
+{
+public:
+    TNE(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TNEI : public Instruction32
+{
+public:
+    TNEI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class XOR : public Instruction32
+{
+public:
+    XOR(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class XORI : public Instruction32
+{
+public:
+    XORI(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ABS_S : public Instruction32
+{
+public:
+    ABS_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ABS_D : public Instruction32
+{
+public:
+    ABS_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ADD_S : public Instruction32
+{
+public:
+    ADD_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ADD_D : public Instruction32
+{
+public:
+    ADD_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BC1F : public Instruction32
+{
+public:
+    BC1F(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BC1FL : public Instruction32
+{
+public:
+    BC1FL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BC1T : public Instruction32
+{
+public:
+    BC1T(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BC1TL : public Instruction32
+{
+public:
+    BC1TL(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_F_S : public Instruction32
+{
+public:
+    C_F_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_UN_S : public Instruction32
+{
+public:
+    C_UN_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_EQ_S : public Instruction32
+{
+public:
+    C_EQ_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_UEQ_S : public Instruction32
+{
+public:
+    C_UEQ_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_OLT_S : public Instruction32
+{
+public:
+    C_OLT_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_ULT_S : public Instruction32
+{
+public:
+    C_ULT_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_OLE_S : public Instruction32
+{
+public:
+    C_OLE_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_ULE_S : public Instruction32
+{
+public:
+    C_ULE_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_SF_S : public Instruction32
+{
+public:
+    C_SF_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_NGLE_S : public Instruction32
+{
+public:
+    C_NGLE_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_SEQ_S : public Instruction32
+{
+public:
+    C_SEQ_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_NGL_S : public Instruction32
+{
+public:
+    C_NGL_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_LT_S : public Instruction32
+{
+public:
+    C_LT_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_NGE_S : public Instruction32
+{
+public:
+    C_NGE_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_LE_S : public Instruction32
+{
+public:
+    C_LE_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_NGT_S : public Instruction32
+{
+public:
+    C_NGT_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_F_D : public Instruction32
+{
+public:
+    C_F_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_UN_D : public Instruction32
+{
+public:
+    C_UN_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_EQ_D : public Instruction32
+{
+public:
+    C_EQ_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_UEQ_D : public Instruction32
+{
+public:
+    C_UEQ_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_OLT_D : public Instruction32
+{
+public:
+    C_OLT_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_ULT_D : public Instruction32
+{
+public:
+    C_ULT_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_OLE_D : public Instruction32
+{
+public:
+    C_OLE_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_ULE_D : public Instruction32
+{
+public:
+    C_ULE_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_SF_D : public Instruction32
+{
+public:
+    C_SF_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_NGLE_D : public Instruction32
+{
+public:
+    C_NGLE_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_SEQ_D : public Instruction32
+{
+public:
+    C_SEQ_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_NGL_D : public Instruction32
+{
+public:
+    C_NGL_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_LT_D : public Instruction32
+{
+public:
+    C_LT_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_NGE_D : public Instruction32
+{
+public:
+    C_NGE_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_LE_D : public Instruction32
+{
+public:
+    C_LE_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class C_NGT_D : public Instruction32
+{
+public:
+    C_NGT_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CEIL_L_S : public Instruction32
+{
+public:
+    CEIL_L_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CEIL_L_D : public Instruction32
+{
+public:
+    CEIL_L_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CEIL_W_S : public Instruction32
+{
+public:
+    CEIL_W_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CEIL_W_D : public Instruction32
+{
+public:
+    CEIL_W_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CFC1 : public Instruction32
+{
+public:
+    CFC1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CTC1 : public Instruction32
+{
+public:
+    CTC1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CVT_D_S : public Instruction32
+{
+public:
+    CVT_D_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CVT_D_W : public Instruction32
+{
+public:
+    CVT_D_W(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CVT_D_L : public Instruction32
+{
+public:
+    CVT_D_L(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CVT_L_S : public Instruction32
+{
+public:
+    CVT_L_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CVT_L_D : public Instruction32
+{
+public:
+    CVT_L_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CVT_S_D : public Instruction32
+{
+public:
+    CVT_S_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CVT_S_W : public Instruction32
+{
+public:
+    CVT_S_W(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CVT_S_L : public Instruction32
+{
+public:
+    CVT_S_L(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CVT_W_S : public Instruction32
+{
+public:
+    CVT_W_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class CVT_W_D : public Instruction32
+{
+public:
+    CVT_W_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DIV_S : public Instruction32
+{
+public:
+    DIV_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DIV_D : public Instruction32
+{
+public:
+    DIV_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DMFC1 : public Instruction32
+{
+public:
+    DMFC1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DMTC1 : public Instruction32
+{
+public:
+    DMTC1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class FLOOR_L_S : public Instruction32
+{
+public:
+    FLOOR_L_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class FLOOR_L_D : public Instruction32
+{
+public:
+    FLOOR_L_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class FLOOR_W_S : public Instruction32
+{
+public:
+    FLOOR_W_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class FLOOR_W_D : public Instruction32
+{
+public:
+    FLOOR_W_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LDC1 : public Instruction32
+{
+public:
+    LDC1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class LWC1 : public Instruction32
+{
+public:
+    LWC1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MFC1 : public Instruction32
+{
+public:
+    MFC1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MOV_S : public Instruction32
+{
+public:
+    MOV_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MOV_D : public Instruction32
+{
+public:
+    MOV_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MTC1 : public Instruction32
+{
+public:
+    MTC1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MUL_S : public Instruction32
+{
+public:
+    MUL_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MUL_D : public Instruction32
+{
+public:
+    MUL_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class NEG_S : public Instruction32
+{
+public:
+    NEG_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class NEG_D : public Instruction32
+{
+public:
+    NEG_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ROUND_L_S : public Instruction32
+{
+public:
+    ROUND_L_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ROUND_L_D : public Instruction32
+{
+public:
+    ROUND_L_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ROUND_W_S : public Instruction32
+{
+public:
+    ROUND_W_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ROUND_W_D : public Instruction32
+{
+public:
+    ROUND_W_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SDC1 : public Instruction32
+{
+public:
+    SDC1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SQRT_S : public Instruction32
+{
+public:
+    SQRT_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SQRT_D : public Instruction32
+{
+public:
+    SQRT_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SUB_S : public Instruction32
+{
+public:
+    SUB_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SUB_D : public Instruction32
+{
+public:
+    SUB_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SWC1 : public Instruction32
+{
+public:
+    SWC1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TRUNC_L_S : public Instruction32
+{
+public:
+    TRUNC_L_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TRUNC_L_D : public Instruction32
+{
+public:
+    TRUNC_L_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TRUNC_W_S : public Instruction32
+{
+public:
+    TRUNC_W_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class TRUNC_W_D : public Instruction32
+{
+public:
+    TRUNC_W_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MULT_G : public Instruction32
+{
+public:
+    MULT_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MULTU_G : public Instruction32
+{
+public:
+    MULTU_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DMULT_G : public Instruction32
+{
+public:
+    DMULT_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DMULTU_G : public Instruction32
+{
+public:
+    DMULTU_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DIV_G : public Instruction32
+{
+public:
+    DIV_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DIVU_G : public Instruction32
+{
+public:
+    DIVU_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DDIV_G : public Instruction32
+{
+public:
+    DDIV_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DDIVU_G : public Instruction32
+{
+public:
+    DDIVU_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MOD_G : public Instruction32
+{
+public:
+    MOD_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MODU_G : public Instruction32
+{
+public:
+    MODU_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DMOD_G : public Instruction32
+{
+public:
+    DMOD_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DMODU_G : public Instruction32
+{
+public:
+    DMODU_G(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MADD_S : public Instruction32
+{
+public:
+    MADD_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MADD_D : public Instruction32
+{
+public:
+    MADD_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MSUB_S : public Instruction32
+{
+public:
+    MSUB_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class MSUB_D : public Instruction32
+{
+public:
+    MSUB_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class NMADD_S : public Instruction32
+{
+public:
+    NMADD_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class NMADD_D : public Instruction32
+{
+public:
+    NMADD_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class NMSUB_S : public Instruction32
+{
+public:
+    NMSUB_S(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class NMSUB_D : public Instruction32
+{
+public:
+    NMSUB_D(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PACKSSHB : public Instruction32
+{
+public:
+    PACKSSHB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PACKSSWH : public Instruction32
+{
+public:
+    PACKSSWH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PACKUSHB : public Instruction32
+{
+public:
+    PACKUSHB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PADDB : public Instruction32
+{
+public:
+    PADDB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PADDH : public Instruction32
+{
+public:
+    PADDH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PADDW : public Instruction32
+{
+public:
+    PADDW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PADDD : public Instruction32
+{
+public:
+    PADDD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PADDSB : public Instruction32
+{
+public:
+    PADDSB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PADDSH : public Instruction32
+{
+public:
+    PADDSH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PADDUSB : public Instruction32
+{
+public:
+    PADDUSB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PADDUSH : public Instruction32
+{
+public:
+    PADDUSH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PANDN : public Instruction32
+{
+public:
+    PANDN(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PAVGB : public Instruction32
+{
+public:
+    PAVGB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PAVGH : public Instruction32
+{
+public:
+    PAVGH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PCMPEQB : public Instruction32
+{
+public:
+    PCMPEQB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PCMPEQH : public Instruction32
+{
+public:
+    PCMPEQH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PCMPEQW : public Instruction32
+{
+public:
+    PCMPEQW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PCMPGTB : public Instruction32
+{
+public:
+    PCMPGTB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PCMPGTH : public Instruction32
+{
+public:
+    PCMPGTH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PCMPGTW : public Instruction32
+{
+public:
+    PCMPGTW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PEXTRH : public Instruction32
+{
+public:
+    PEXTRH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PINSRH_0 : public Instruction32
+{
+public:
+    PINSRH_0(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PINSRH_1 : public Instruction32
+{
+public:
+    PINSRH_1(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PINSRH_2 : public Instruction32
+{
+public:
+    PINSRH_2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PINSRH_3 : public Instruction32
+{
+public:
+    PINSRH_3(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PMADDHW : public Instruction32
+{
+public:
+    PMADDHW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PMAXSH : public Instruction32
+{
+public:
+    PMAXSH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PMAXUB : public Instruction32
+{
+public:
+    PMAXUB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PMINSH : public Instruction32
+{
+public:
+    PMINSH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PMINUB : public Instruction32
+{
+public:
+    PMINUB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PMOVMSKB : public Instruction32
+{
+public:
+    PMOVMSKB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PMULHUH : public Instruction32
+{
+public:
+    PMULHUH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PMULHH : public Instruction32
+{
+public:
+    PMULHH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PMULLH : public Instruction32
+{
+public:
+    PMULLH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PMULUW : public Instruction32
+{
+public:
+    PMULUW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PASUBUB : public Instruction32
+{
+public:
+    PASUBUB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class BIADD : public Instruction32
+{
+public:
+    BIADD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSHUFH : public Instruction32
+{
+public:
+    PSHUFH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSLLH : public Instruction32
+{
+public:
+    PSLLH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSLLW : public Instruction32
+{
+public:
+    PSLLW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSRAH : public Instruction32
+{
+public:
+    PSRAH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSRAW : public Instruction32
+{
+public:
+    PSRAW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSRLH : public Instruction32
+{
+public:
+    PSRLH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSRLW : public Instruction32
+{
+public:
+    PSRLW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSUBB : public Instruction32
+{
+public:
+    PSUBB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSUBH : public Instruction32
+{
+public:
+    PSUBH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSUBW : public Instruction32
+{
+public:
+    PSUBW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSUBD : public Instruction32
+{
+public:
+    PSUBD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSUBSB : public Instruction32
+{
+public:
+    PSUBSB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSUBSH : public Instruction32
+{
+public:
+    PSUBSH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSUBUSB : public Instruction32
+{
+public:
+    PSUBUSB(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PSUBUSH : public Instruction32
+{
+public:
+    PSUBUSH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PUNPCKHBH : public Instruction32
+{
+public:
+    PUNPCKHBH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PUNPCKHHW : public Instruction32
+{
+public:
+    PUNPCKHHW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PUNPCKHWD : public Instruction32
+{
+public:
+    PUNPCKHWD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PUNPCKLBH : public Instruction32
+{
+public:
+    PUNPCKLBH(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PUNPCKLHW : public Instruction32
+{
+public:
+    PUNPCKLHW(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class PUNPCKLWD : public Instruction32
+{
+public:
+    PUNPCKLWD(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ADD_CP2 : public Instruction32
+{
+public:
+    ADD_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class ADDU_CP2 : public Instruction32
+{
+public:
+    ADDU_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DADD_CP2 : public Instruction32
+{
+public:
+    DADD_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SUB_CP2 : public Instruction32
+{
+public:
+    SUB_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SUBU_CP2 : public Instruction32
+{
+public:
+    SUBU_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSUB_CP2 : public Instruction32
+{
+public:
+    DSUB_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class OR_CP2 : public Instruction32
+{
+public:
+    OR_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLI_CP2 : public Instruction32
+{
+public:
+    SLI_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSLL_CP2 : public Instruction32
+{
+public:
+    DSLL_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class XOR_CP2 : public Instruction32
+{
+public:
+    XOR_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class NOR_CP2 : public Instruction32
+{
+public:
+    NOR_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class AND_CP2 : public Instruction32
+{
+public:
+    AND_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SRL_CP2 : public Instruction32
+{
+public:
+    SRL_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSRL_CP2 : public Instruction32
+{
+public:
+    DSRL_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SRA_CP2 : public Instruction32
+{
+public:
+    SRA_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class DSRA_CP2 : public Instruction32
+{
+public:
+    DSRA_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SEQU_CP2 : public Instruction32
+{
+public:
+    SEQU_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLTU_CP2 : public Instruction32
+{
+public:
+    SLTU_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLEU_CP2 : public Instruction32
+{
+public:
+    SLEU_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SEQ_CP2 : public Instruction32
+{
+public:
+    SEQ_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLT_CP2 : public Instruction32
+{
+public:
+    SLT_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class SLE_CP2 : public Instruction32
+{
+public:
+    SLE_CP2(uint32_t insn);
+    bool disas_output(disassemble_info* info);
+};
+
+class Decoder
+{
+public:
+    int decode32(disassemble_info *ctx, uint32_t insn);
+};
+
+#endif
diff --git a/include/disas/dis-asm.h b/include/disas/dis-asm.h
index c5f9fa08ab..d89e99842d 100644
--- a/include/disas/dis-asm.h
+++ b/include/disas/dis-asm.h
@@ -396,6 +396,7 @@ int print_insn_tci(bfd_vma, disassemble_info*);
 int print_insn_big_mips         (bfd_vma, disassemble_info*);
 int print_insn_little_mips      (bfd_vma, disassemble_info*);
 int print_insn_nanomips         (bfd_vma, disassemble_info*);
+int print_insn_loongson2f       (bfd_vma, disassemble_info*);
 int print_insn_i386             (bfd_vma, disassemble_info*);
 int print_insn_m68k             (bfd_vma, disassemble_info*);
 int print_insn_z8001            (bfd_vma, disassemble_info*);
diff --git a/include/exec/poison.h b/include/exec/poison.h
index 7b9ac361dc..b1df91a7c2 100644
--- a/include/exec/poison.h
+++ b/include/exec/poison.h
@@ -78,6 +78,7 @@
 #pragma GCC poison CONFIG_M68K_DIS
 #pragma GCC poison CONFIG_MICROBLAZE_DIS
 #pragma GCC poison CONFIG_MIPS_DIS
+#pragma GCC poison CONFIG_LOONGSON2F_DIS
 #pragma GCC poison CONFIG_NANOMIPS_DIS
 #pragma GCC poison CONFIG_MOXIE_DIS
 #pragma GCC poison CONFIG_NIOS2_DIS
diff --git a/target/mips/cpu.c b/target/mips/cpu.c
index e86cd06548..adaeeceae2 100644
--- a/target/mips/cpu.c
+++ b/target/mips/cpu.c
@@ -132,6 +132,10 @@ static void mips_cpu_disas_set_info(CPUState *s, disassemble_info *info)
         info->print_insn = print_insn_nanomips;
 #endif
     }
+
+    if(env->insn_flags & INSN_LOONGSON2F) {
+        info->print_insn = print_insn_loongson2f;
+    }
 }
 
 static void mips_cpu_realizefn(DeviceState *dev, Error **errp)
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/1] Add Loongson 2F disassembler
  2020-07-02 19:42 [PATCH 0/1] Add Loongson 2F disassembler Stefan Brankovic
  2020-07-02 19:42 ` [PATCH 1/1] disas: mips: " Stefan Brankovic
@ 2020-07-02 20:48 ` no-reply
  1 sibling, 0 replies; 7+ messages in thread
From: no-reply @ 2020-07-02 20:48 UTC (permalink / raw)
  To: stefanbrankovic96
  Cc: chenhc, aleksandar.qemu.devel, stefan.brankovic,
	aleksandar.rikalo, qemu-devel

Patchew URL: https://patchew.org/QEMU/20200702194230.10769-1-stefan.brankovic@syrmia.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [PATCH 0/1] Add Loongson 2F disassembler
Type: series
Message-id: 20200702194230.10769-1-stefan.brankovic@syrmia.com

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

From https://github.com/patchew-project/qemu
 * [new tag]         patchew/20200702194230.10769-1-stefan.brankovic@syrmia.com -> patchew/20200702194230.10769-1-stefan.brankovic@syrmia.com
Switched to a new branch 'test'
b69eeaa disas: mips: Add Loongson 2F disassembler

=== OUTPUT BEGIN ===
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52: 
new file mode 100644

ERROR: "(foo*)" should be "(foo *)"
#545: FILE: disas/loongson2f.cpp:489:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#546: FILE: disas/loongson2f.cpp:490:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#547: FILE: disas/loongson2f.cpp:491:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#563: FILE: disas/loongson2f.cpp:507:
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#564: FILE: disas/loongson2f.cpp:508:
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#566: FILE: disas/loongson2f.cpp:510:
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#580: FILE: disas/loongson2f.cpp:524:
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#581: FILE: disas/loongson2f.cpp:525:
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#583: FILE: disas/loongson2f.cpp:527:
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#598: FILE: disas/loongson2f.cpp:542:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#599: FILE: disas/loongson2f.cpp:543:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#600: FILE: disas/loongson2f.cpp:544:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#617: FILE: disas/loongson2f.cpp:561:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#618: FILE: disas/loongson2f.cpp:562:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#619: FILE: disas/loongson2f.cpp:563:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#635: FILE: disas/loongson2f.cpp:579:
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#636: FILE: disas/loongson2f.cpp:580:
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#638: FILE: disas/loongson2f.cpp:582:
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#652: FILE: disas/loongson2f.cpp:596:
+    getAlias(alias1, ((Fields32OffsetRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#653: FILE: disas/loongson2f.cpp:597:
+    getAlias(alias2, ((Fields32OffsetRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#655: FILE: disas/loongson2f.cpp:599:
+     alias1, alias2, ((Fields32OffsetRsRt*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#669: FILE: disas/loongson2f.cpp:613:
+    getAlias(alias1, ((Fields32OffsetRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#670: FILE: disas/loongson2f.cpp:614:
+    getAlias(alias2, ((Fields32OffsetRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#672: FILE: disas/loongson2f.cpp:616:
+     alias1, alias2, ((Fields32OffsetRsRt*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#685: FILE: disas/loongson2f.cpp:629:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#687: FILE: disas/loongson2f.cpp:631:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#700: FILE: disas/loongson2f.cpp:644:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#702: FILE: disas/loongson2f.cpp:646:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#715: FILE: disas/loongson2f.cpp:659:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#717: FILE: disas/loongson2f.cpp:661:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#730: FILE: disas/loongson2f.cpp:674:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#732: FILE: disas/loongson2f.cpp:676:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#745: FILE: disas/loongson2f.cpp:689:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#747: FILE: disas/loongson2f.cpp:691:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#760: FILE: disas/loongson2f.cpp:704:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#762: FILE: disas/loongson2f.cpp:706:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#775: FILE: disas/loongson2f.cpp:719:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#777: FILE: disas/loongson2f.cpp:721:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#790: FILE: disas/loongson2f.cpp:734:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#792: FILE: disas/loongson2f.cpp:736:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#805: FILE: disas/loongson2f.cpp:749:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#807: FILE: disas/loongson2f.cpp:751:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#820: FILE: disas/loongson2f.cpp:764:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#822: FILE: disas/loongson2f.cpp:766:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#835: FILE: disas/loongson2f.cpp:779:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#837: FILE: disas/loongson2f.cpp:781:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#850: FILE: disas/loongson2f.cpp:794:
+    getAlias(alias1, ((Fields32OffsetRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#852: FILE: disas/loongson2f.cpp:796:
+     alias1, ((Fields32OffsetRs*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#866: FILE: disas/loongson2f.cpp:810:
+    getAlias(alias1, ((Fields32OffsetRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#867: FILE: disas/loongson2f.cpp:811:
+    getAlias(alias2, ((Fields32OffsetRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#869: FILE: disas/loongson2f.cpp:813:
+     alias1, alias2, ((Fields32OffsetRsRt*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#883: FILE: disas/loongson2f.cpp:827:
+    getAlias(alias1, ((Fields32OffsetRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#884: FILE: disas/loongson2f.cpp:828:
+    getAlias(alias2, ((Fields32OffsetRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#886: FILE: disas/loongson2f.cpp:830:
+     alias1, alias2, ((Fields32OffsetRsRt*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#899: FILE: disas/loongson2f.cpp:843:
+     ((Fields32Code*)this->fields32)->getCode()));

ERROR: "(foo*)" should be "(foo *)"
#912: FILE: disas/loongson2f.cpp:856:
+     ((Fields32Cop_fun*)this->fields32)->getCop_fun()));

ERROR: "(foo*)" should be "(foo *)"
#925: FILE: disas/loongson2f.cpp:869:
+     ((Fields32Cop_fun*)this->fields32)->getCop_fun()));

ERROR: "(foo*)" should be "(foo *)"
#940: FILE: disas/loongson2f.cpp:884:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#941: FILE: disas/loongson2f.cpp:885:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#942: FILE: disas/loongson2f.cpp:886:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#958: FILE: disas/loongson2f.cpp:902:
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#959: FILE: disas/loongson2f.cpp:903:
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#961: FILE: disas/loongson2f.cpp:905:
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#975: FILE: disas/loongson2f.cpp:919:
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#976: FILE: disas/loongson2f.cpp:920:
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#978: FILE: disas/loongson2f.cpp:922:
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#993: FILE: disas/loongson2f.cpp:937:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#994: FILE: disas/loongson2f.cpp:938:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#995: FILE: disas/loongson2f.cpp:939:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1011: FILE: disas/loongson2f.cpp:955:
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1012: FILE: disas/loongson2f.cpp:956:
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1028: FILE: disas/loongson2f.cpp:972:
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1029: FILE: disas/loongson2f.cpp:973:
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1045: FILE: disas/loongson2f.cpp:989:
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1046: FILE: disas/loongson2f.cpp:990:
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1062: FILE: disas/loongson2f.cpp:1006:
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1063: FILE: disas/loongson2f.cpp:1007:
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1079: FILE: disas/loongson2f.cpp:1023:
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1080: FILE: disas/loongson2f.cpp:1024:
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1096: FILE: disas/loongson2f.cpp:1040:
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1097: FILE: disas/loongson2f.cpp:1041:
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1113: FILE: disas/loongson2f.cpp:1057:
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1114: FILE: disas/loongson2f.cpp:1058:
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1116: FILE: disas/loongson2f.cpp:1060:
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));

ERROR: "(foo*)" should be "(foo *)"
#1130: FILE: disas/loongson2f.cpp:1074:
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1131: FILE: disas/loongson2f.cpp:1075:
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1133: FILE: disas/loongson2f.cpp:1077:
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));

ERROR: "(foo*)" should be "(foo *)"
#1148: FILE: disas/loongson2f.cpp:1092:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1149: FILE: disas/loongson2f.cpp:1093:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1150: FILE: disas/loongson2f.cpp:1094:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1166: FILE: disas/loongson2f.cpp:1110:
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1167: FILE: disas/loongson2f.cpp:1111:
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1169: FILE: disas/loongson2f.cpp:1113:
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));

ERROR: "(foo*)" should be "(foo *)"
#1183: FILE: disas/loongson2f.cpp:1127:
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1184: FILE: disas/loongson2f.cpp:1128:
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1186: FILE: disas/loongson2f.cpp:1130:
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));

ERROR: "(foo*)" should be "(foo *)"
#1201: FILE: disas/loongson2f.cpp:1145:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1202: FILE: disas/loongson2f.cpp:1146:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1203: FILE: disas/loongson2f.cpp:1147:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1219: FILE: disas/loongson2f.cpp:1163:
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1220: FILE: disas/loongson2f.cpp:1164:
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1222: FILE: disas/loongson2f.cpp:1166:
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));

ERROR: "(foo*)" should be "(foo *)"
#1236: FILE: disas/loongson2f.cpp:1180:
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1237: FILE: disas/loongson2f.cpp:1181:
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1239: FILE: disas/loongson2f.cpp:1183:
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));

ERROR: "(foo*)" should be "(foo *)"
#1254: FILE: disas/loongson2f.cpp:1198:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1255: FILE: disas/loongson2f.cpp:1199:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1256: FILE: disas/loongson2f.cpp:1200:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1273: FILE: disas/loongson2f.cpp:1217:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1274: FILE: disas/loongson2f.cpp:1218:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1275: FILE: disas/loongson2f.cpp:1219:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1292: FILE: disas/loongson2f.cpp:1236:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1293: FILE: disas/loongson2f.cpp:1237:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1294: FILE: disas/loongson2f.cpp:1238:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1309: FILE: disas/loongson2f.cpp:1253:
+     ((Fields32Instr_index*)this->fields32)->getInstr_index()));

ERROR: "(foo*)" should be "(foo *)"
#1322: FILE: disas/loongson2f.cpp:1266:
+     ((Fields32Instr_index*)this->fields32)->getInstr_index()));

ERROR: "(foo*)" should be "(foo *)"
#1336: FILE: disas/loongson2f.cpp:1280:
+    getAlias(alias1, ((Fields32RdRs*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1337: FILE: disas/loongson2f.cpp:1281:
+    getAlias(alias2, ((Fields32RdRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1352: FILE: disas/loongson2f.cpp:1296:
+    getAlias(alias1, ((Fields32Rs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1368: FILE: disas/loongson2f.cpp:1312:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1369: FILE: disas/loongson2f.cpp:1313:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1371: FILE: disas/loongson2f.cpp:1315:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1385: FILE: disas/loongson2f.cpp:1329:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1386: FILE: disas/loongson2f.cpp:1330:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1388: FILE: disas/loongson2f.cpp:1332:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1402: FILE: disas/loongson2f.cpp:1346:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1403: FILE: disas/loongson2f.cpp:1347:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1405: FILE: disas/loongson2f.cpp:1349:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1419: FILE: disas/loongson2f.cpp:1363:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1420: FILE: disas/loongson2f.cpp:1364:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1422: FILE: disas/loongson2f.cpp:1366:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1436: FILE: disas/loongson2f.cpp:1380:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1437: FILE: disas/loongson2f.cpp:1381:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1439: FILE: disas/loongson2f.cpp:1383:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1453: FILE: disas/loongson2f.cpp:1397:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1454: FILE: disas/loongson2f.cpp:1398:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1456: FILE: disas/loongson2f.cpp:1400:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1470: FILE: disas/loongson2f.cpp:1414:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1471: FILE: disas/loongson2f.cpp:1415:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1473: FILE: disas/loongson2f.cpp:1417:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1487: FILE: disas/loongson2f.cpp:1431:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1488: FILE: disas/loongson2f.cpp:1432:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1490: FILE: disas/loongson2f.cpp:1434:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1504: FILE: disas/loongson2f.cpp:1448:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1505: FILE: disas/loongson2f.cpp:1449:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1507: FILE: disas/loongson2f.cpp:1451:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1521: FILE: disas/loongson2f.cpp:1465:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1522: FILE: disas/loongson2f.cpp:1466:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1524: FILE: disas/loongson2f.cpp:1468:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1537: FILE: disas/loongson2f.cpp:1481:
+    getAlias(alias1, ((Fields32ImmRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1539: FILE: disas/loongson2f.cpp:1483:
+     alias1, ((Fields32ImmRt*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#1553: FILE: disas/loongson2f.cpp:1497:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1554: FILE: disas/loongson2f.cpp:1498:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1556: FILE: disas/loongson2f.cpp:1500:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1570: FILE: disas/loongson2f.cpp:1514:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1571: FILE: disas/loongson2f.cpp:1515:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1573: FILE: disas/loongson2f.cpp:1517:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1587: FILE: disas/loongson2f.cpp:1531:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1588: FILE: disas/loongson2f.cpp:1532:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1590: FILE: disas/loongson2f.cpp:1534:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1604: FILE: disas/loongson2f.cpp:1548:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1605: FILE: disas/loongson2f.cpp:1549:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1607: FILE: disas/loongson2f.cpp:1551:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1621: FILE: disas/loongson2f.cpp:1565:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1622: FILE: disas/loongson2f.cpp:1566:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1624: FILE: disas/loongson2f.cpp:1568:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1638: FILE: disas/loongson2f.cpp:1582:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1639: FILE: disas/loongson2f.cpp:1583:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1641: FILE: disas/loongson2f.cpp:1585:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1654: FILE: disas/loongson2f.cpp:1598:
+    getAlias(alias1, ((Fields32Rd*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1669: FILE: disas/loongson2f.cpp:1613:
+    getAlias(alias1, ((Fields32Rd*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1684: FILE: disas/loongson2f.cpp:1628:
+    getAlias(alias1, ((Fields32Rs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1699: FILE: disas/loongson2f.cpp:1643:
+    getAlias(alias1, ((Fields32Rs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1715: FILE: disas/loongson2f.cpp:1659:
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1716: FILE: disas/loongson2f.cpp:1660:
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1732: FILE: disas/loongson2f.cpp:1676:
+    getAlias(alias1, ((Fields32RsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1733: FILE: disas/loongson2f.cpp:1677:
+    getAlias(alias2, ((Fields32RsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1750: FILE: disas/loongson2f.cpp:1694:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1751: FILE: disas/loongson2f.cpp:1695:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1752: FILE: disas/loongson2f.cpp:1696:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1769: FILE: disas/loongson2f.cpp:1713:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1770: FILE: disas/loongson2f.cpp:1714:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1771: FILE: disas/loongson2f.cpp:1715:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1787: FILE: disas/loongson2f.cpp:1731:
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1788: FILE: disas/loongson2f.cpp:1732:
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1790: FILE: disas/loongson2f.cpp:1734:
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#1804: FILE: disas/loongson2f.cpp:1748:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1805: FILE: disas/loongson2f.cpp:1749:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1807: FILE: disas/loongson2f.cpp:1751:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1821: FILE: disas/loongson2f.cpp:1765:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1822: FILE: disas/loongson2f.cpp:1766:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1824: FILE: disas/loongson2f.cpp:1768:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1838: FILE: disas/loongson2f.cpp:1782:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1839: FILE: disas/loongson2f.cpp:1783:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1841: FILE: disas/loongson2f.cpp:1785:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1855: FILE: disas/loongson2f.cpp:1799:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1856: FILE: disas/loongson2f.cpp:1800:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1858: FILE: disas/loongson2f.cpp:1802:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1872: FILE: disas/loongson2f.cpp:1816:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1873: FILE: disas/loongson2f.cpp:1817:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1875: FILE: disas/loongson2f.cpp:1819:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1889: FILE: disas/loongson2f.cpp:1833:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1890: FILE: disas/loongson2f.cpp:1834:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1892: FILE: disas/loongson2f.cpp:1836:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1906: FILE: disas/loongson2f.cpp:1850:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1907: FILE: disas/loongson2f.cpp:1851:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1909: FILE: disas/loongson2f.cpp:1853:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1923: FILE: disas/loongson2f.cpp:1867:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1924: FILE: disas/loongson2f.cpp:1868:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#1926: FILE: disas/loongson2f.cpp:1870:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#1940: FILE: disas/loongson2f.cpp:1884:
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1941: FILE: disas/loongson2f.cpp:1885:
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1943: FILE: disas/loongson2f.cpp:1887:
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));

ERROR: "(foo*)" should be "(foo *)"
#1958: FILE: disas/loongson2f.cpp:1902:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1959: FILE: disas/loongson2f.cpp:1903:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1960: FILE: disas/loongson2f.cpp:1904:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1977: FILE: disas/loongson2f.cpp:1921:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#1978: FILE: disas/loongson2f.cpp:1922:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1979: FILE: disas/loongson2f.cpp:1923:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1995: FILE: disas/loongson2f.cpp:1939:
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#1996: FILE: disas/loongson2f.cpp:1940:
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#1998: FILE: disas/loongson2f.cpp:1942:
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#2012: FILE: disas/loongson2f.cpp:1956:
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2013: FILE: disas/loongson2f.cpp:1957:
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2015: FILE: disas/loongson2f.cpp:1959:
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#2030: FILE: disas/loongson2f.cpp:1974:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#2031: FILE: disas/loongson2f.cpp:1975:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2032: FILE: disas/loongson2f.cpp:1976:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2048: FILE: disas/loongson2f.cpp:1992:
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#2049: FILE: disas/loongson2f.cpp:1993:
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2051: FILE: disas/loongson2f.cpp:1995:
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));

ERROR: "(foo*)" should be "(foo *)"
#2066: FILE: disas/loongson2f.cpp:2010:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#2067: FILE: disas/loongson2f.cpp:2011:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2068: FILE: disas/loongson2f.cpp:2012:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2084: FILE: disas/loongson2f.cpp:2028:
+    getAlias(alias1, ((Fields32RdRtSa*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#2085: FILE: disas/loongson2f.cpp:2029:
+    getAlias(alias2, ((Fields32RdRtSa*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2087: FILE: disas/loongson2f.cpp:2031:
+     alias1, alias2, ((Fields32RdRtSa*)this->fields32)->getSa()));

ERROR: "(foo*)" should be "(foo *)"
#2102: FILE: disas/loongson2f.cpp:2046:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#2103: FILE: disas/loongson2f.cpp:2047:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2104: FILE: disas/loongson2f.cpp:2048:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2121: FILE: disas/loongson2f.cpp:2065:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#2122: FILE: disas/loongson2f.cpp:2066:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2123: FILE: disas/loongson2f.cpp:2067:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2140: FILE: disas/loongson2f.cpp:2084:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#2141: FILE: disas/loongson2f.cpp:2085:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2142: FILE: disas/loongson2f.cpp:2086:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2158: FILE: disas/loongson2f.cpp:2102:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2159: FILE: disas/loongson2f.cpp:2103:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#2161: FILE: disas/loongson2f.cpp:2105:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#2175: FILE: disas/loongson2f.cpp:2119:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2176: FILE: disas/loongson2f.cpp:2120:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#2178: FILE: disas/loongson2f.cpp:2122:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#2192: FILE: disas/loongson2f.cpp:2136:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2193: FILE: disas/loongson2f.cpp:2137:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#2195: FILE: disas/loongson2f.cpp:2139:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#2209: FILE: disas/loongson2f.cpp:2153:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2210: FILE: disas/loongson2f.cpp:2154:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#2212: FILE: disas/loongson2f.cpp:2156:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#2226: FILE: disas/loongson2f.cpp:2170:
+    getAlias(alias1, ((Fields32BaseOffsetRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2227: FILE: disas/loongson2f.cpp:2171:
+    getAlias(alias2, ((Fields32BaseOffsetRt*)this->fields32)->getBase());

ERROR: "(foo*)" should be "(foo *)"
#2229: FILE: disas/loongson2f.cpp:2173:
+     alias1, ((Fields32BaseOffsetRt*)this->fields32)->getOffset(), alias2));

ERROR: "(foo*)" should be "(foo *)"
#2242: FILE: disas/loongson2f.cpp:2186:
+     ((Fields32Stype*)this->fields32)->getStype()));

ERROR: "(foo*)" should be "(foo *)"
#2255: FILE: disas/loongson2f.cpp:2199:
+     ((Fields32Code*)this->fields32)->getCode()));

ERROR: "(foo*)" should be "(foo *)"
#2269: FILE: disas/loongson2f.cpp:2213:
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2270: FILE: disas/loongson2f.cpp:2214:
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2285: FILE: disas/loongson2f.cpp:2229:
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2287: FILE: disas/loongson2f.cpp:2231:
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#2301: FILE: disas/loongson2f.cpp:2245:
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2302: FILE: disas/loongson2f.cpp:2246:
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2317: FILE: disas/loongson2f.cpp:2261:
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2319: FILE: disas/loongson2f.cpp:2263:
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#2332: FILE: disas/loongson2f.cpp:2276:
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2334: FILE: disas/loongson2f.cpp:2278:
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#2348: FILE: disas/loongson2f.cpp:2292:
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2349: FILE: disas/loongson2f.cpp:2293:
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2365: FILE: disas/loongson2f.cpp:2309:
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2366: FILE: disas/loongson2f.cpp:2310:
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2381: FILE: disas/loongson2f.cpp:2325:
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2383: FILE: disas/loongson2f.cpp:2327:
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#2396: FILE: disas/loongson2f.cpp:2340:
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2398: FILE: disas/loongson2f.cpp:2342:
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#2412: FILE: disas/loongson2f.cpp:2356:
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2413: FILE: disas/loongson2f.cpp:2357:
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2429: FILE: disas/loongson2f.cpp:2373:
+    getAlias(alias1, ((Fields32CodeRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2430: FILE: disas/loongson2f.cpp:2374:
+    getAlias(alias2, ((Fields32CodeRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2445: FILE: disas/loongson2f.cpp:2389:
+    getAlias(alias1, ((Fields32ImmRs*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2447: FILE: disas/loongson2f.cpp:2391:
+     alias1, ((Fields32ImmRs*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#2462: FILE: disas/loongson2f.cpp:2406:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#2463: FILE: disas/loongson2f.cpp:2407:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2464: FILE: disas/loongson2f.cpp:2408:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2480: FILE: disas/loongson2f.cpp:2424:
+    getAlias(alias1, ((Fields32ImmRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#2481: FILE: disas/loongson2f.cpp:2425:
+    getAlias(alias2, ((Fields32ImmRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#2483: FILE: disas/loongson2f.cpp:2427:
+     alias1, alias2, ((Fields32ImmRsRt*)this->fields32)->getImm()));

ERROR: "(foo*)" should be "(foo *)"
#2496: FILE: disas/loongson2f.cpp:2440:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#2497: FILE: disas/loongson2f.cpp:2441:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#2510: FILE: disas/loongson2f.cpp:2454:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#2511: FILE: disas/loongson2f.cpp:2455:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#2524: FILE: disas/loongson2f.cpp:2468:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#2525: FILE: disas/loongson2f.cpp:2469:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2526: FILE: disas/loongson2f.cpp:2470:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2539: FILE: disas/loongson2f.cpp:2483:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#2540: FILE: disas/loongson2f.cpp:2484:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2541: FILE: disas/loongson2f.cpp:2485:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2554: FILE: disas/loongson2f.cpp:2498:
+     ((Fields32Offset*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#2567: FILE: disas/loongson2f.cpp:2511:
+     ((Fields32Offset*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#2580: FILE: disas/loongson2f.cpp:2524:
+     ((Fields32Offset*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#2593: FILE: disas/loongson2f.cpp:2537:
+     ((Fields32Offset*)this->fields32)->getOffset()));

ERROR: "(foo*)" should be "(foo *)"
#2606: FILE: disas/loongson2f.cpp:2550:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2607: FILE: disas/loongson2f.cpp:2551:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2620: FILE: disas/loongson2f.cpp:2564:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2621: FILE: disas/loongson2f.cpp:2565:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2634: FILE: disas/loongson2f.cpp:2578:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2635: FILE: disas/loongson2f.cpp:2579:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2648: FILE: disas/loongson2f.cpp:2592:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2649: FILE: disas/loongson2f.cpp:2593:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2662: FILE: disas/loongson2f.cpp:2606:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2663: FILE: disas/loongson2f.cpp:2607:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2676: FILE: disas/loongson2f.cpp:2620:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2677: FILE: disas/loongson2f.cpp:2621:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2690: FILE: disas/loongson2f.cpp:2634:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2691: FILE: disas/loongson2f.cpp:2635:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2704: FILE: disas/loongson2f.cpp:2648:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2705: FILE: disas/loongson2f.cpp:2649:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2718: FILE: disas/loongson2f.cpp:2662:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2719: FILE: disas/loongson2f.cpp:2663:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2732: FILE: disas/loongson2f.cpp:2676:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2733: FILE: disas/loongson2f.cpp:2677:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2746: FILE: disas/loongson2f.cpp:2690:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2747: FILE: disas/loongson2f.cpp:2691:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2760: FILE: disas/loongson2f.cpp:2704:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2761: FILE: disas/loongson2f.cpp:2705:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2774: FILE: disas/loongson2f.cpp:2718:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2775: FILE: disas/loongson2f.cpp:2719:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2788: FILE: disas/loongson2f.cpp:2732:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2789: FILE: disas/loongson2f.cpp:2733:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2802: FILE: disas/loongson2f.cpp:2746:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2803: FILE: disas/loongson2f.cpp:2747:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2816: FILE: disas/loongson2f.cpp:2760:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2817: FILE: disas/loongson2f.cpp:2761:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2830: FILE: disas/loongson2f.cpp:2774:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2831: FILE: disas/loongson2f.cpp:2775:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2844: FILE: disas/loongson2f.cpp:2788:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2845: FILE: disas/loongson2f.cpp:2789:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2858: FILE: disas/loongson2f.cpp:2802:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2859: FILE: disas/loongson2f.cpp:2803:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2872: FILE: disas/loongson2f.cpp:2816:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2873: FILE: disas/loongson2f.cpp:2817:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2886: FILE: disas/loongson2f.cpp:2830:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2887: FILE: disas/loongson2f.cpp:2831:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2900: FILE: disas/loongson2f.cpp:2844:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2901: FILE: disas/loongson2f.cpp:2845:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2914: FILE: disas/loongson2f.cpp:2858:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2915: FILE: disas/loongson2f.cpp:2859:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2928: FILE: disas/loongson2f.cpp:2872:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2929: FILE: disas/loongson2f.cpp:2873:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2942: FILE: disas/loongson2f.cpp:2886:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2943: FILE: disas/loongson2f.cpp:2887:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2956: FILE: disas/loongson2f.cpp:2900:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2957: FILE: disas/loongson2f.cpp:2901:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2970: FILE: disas/loongson2f.cpp:2914:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2971: FILE: disas/loongson2f.cpp:2915:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2984: FILE: disas/loongson2f.cpp:2928:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2985: FILE: disas/loongson2f.cpp:2929:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#2998: FILE: disas/loongson2f.cpp:2942:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#2999: FILE: disas/loongson2f.cpp:2943:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3012: FILE: disas/loongson2f.cpp:2956:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3013: FILE: disas/loongson2f.cpp:2957:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3026: FILE: disas/loongson2f.cpp:2970:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3027: FILE: disas/loongson2f.cpp:2971:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3040: FILE: disas/loongson2f.cpp:2984:
+     ((Fields32FsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3041: FILE: disas/loongson2f.cpp:2985:
+     ((Fields32FsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3054: FILE: disas/loongson2f.cpp:2998:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3055: FILE: disas/loongson2f.cpp:2999:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3068: FILE: disas/loongson2f.cpp:3012:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3069: FILE: disas/loongson2f.cpp:3013:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3082: FILE: disas/loongson2f.cpp:3026:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3083: FILE: disas/loongson2f.cpp:3027:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3096: FILE: disas/loongson2f.cpp:3040:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3097: FILE: disas/loongson2f.cpp:3041:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3110: FILE: disas/loongson2f.cpp:3054:
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3112: FILE: disas/loongson2f.cpp:3056:
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3125: FILE: disas/loongson2f.cpp:3069:
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3127: FILE: disas/loongson2f.cpp:3071:
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3140: FILE: disas/loongson2f.cpp:3084:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3141: FILE: disas/loongson2f.cpp:3085:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3154: FILE: disas/loongson2f.cpp:3098:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3155: FILE: disas/loongson2f.cpp:3099:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3168: FILE: disas/loongson2f.cpp:3112:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3169: FILE: disas/loongson2f.cpp:3113:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3182: FILE: disas/loongson2f.cpp:3126:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3183: FILE: disas/loongson2f.cpp:3127:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3196: FILE: disas/loongson2f.cpp:3140:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3197: FILE: disas/loongson2f.cpp:3141:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3210: FILE: disas/loongson2f.cpp:3154:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3211: FILE: disas/loongson2f.cpp:3155:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3224: FILE: disas/loongson2f.cpp:3168:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3225: FILE: disas/loongson2f.cpp:3169:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3238: FILE: disas/loongson2f.cpp:3182:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3239: FILE: disas/loongson2f.cpp:3183:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3252: FILE: disas/loongson2f.cpp:3196:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3253: FILE: disas/loongson2f.cpp:3197:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3266: FILE: disas/loongson2f.cpp:3210:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3267: FILE: disas/loongson2f.cpp:3211:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3280: FILE: disas/loongson2f.cpp:3224:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3281: FILE: disas/loongson2f.cpp:3225:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3282: FILE: disas/loongson2f.cpp:3226:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3295: FILE: disas/loongson2f.cpp:3239:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3296: FILE: disas/loongson2f.cpp:3240:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3297: FILE: disas/loongson2f.cpp:3241:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3310: FILE: disas/loongson2f.cpp:3254:
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3312: FILE: disas/loongson2f.cpp:3256:
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3325: FILE: disas/loongson2f.cpp:3269:
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3327: FILE: disas/loongson2f.cpp:3271:
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3340: FILE: disas/loongson2f.cpp:3284:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3341: FILE: disas/loongson2f.cpp:3285:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3354: FILE: disas/loongson2f.cpp:3298:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3355: FILE: disas/loongson2f.cpp:3299:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3368: FILE: disas/loongson2f.cpp:3312:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3369: FILE: disas/loongson2f.cpp:3313:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3382: FILE: disas/loongson2f.cpp:3326:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3383: FILE: disas/loongson2f.cpp:3327:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3396: FILE: disas/loongson2f.cpp:3340:
+     ((Fields32BaseFtOffset*)this->fields32)->getFt(),

ERROR: "(foo*)" should be "(foo *)"
#3397: FILE: disas/loongson2f.cpp:3341:
+     ((Fields32BaseFtOffset*)this->fields32)->getOffset(),

ERROR: "(foo*)" should be "(foo *)"
#3398: FILE: disas/loongson2f.cpp:3342:
+     ((Fields32BaseFtOffset*)this->fields32)->getBase()));

ERROR: "(foo*)" should be "(foo *)"
#3411: FILE: disas/loongson2f.cpp:3355:
+     ((Fields32BaseFtOffset*)this->fields32)->getFt(),

ERROR: "(foo*)" should be "(foo *)"
#3412: FILE: disas/loongson2f.cpp:3356:
+     ((Fields32BaseFtOffset*)this->fields32)->getOffset(),

ERROR: "(foo*)" should be "(foo *)"
#3413: FILE: disas/loongson2f.cpp:3357:
+     ((Fields32BaseFtOffset*)this->fields32)->getBase()));

ERROR: "(foo*)" should be "(foo *)"
#3426: FILE: disas/loongson2f.cpp:3370:
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3428: FILE: disas/loongson2f.cpp:3372:
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3441: FILE: disas/loongson2f.cpp:3385:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3442: FILE: disas/loongson2f.cpp:3386:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3455: FILE: disas/loongson2f.cpp:3399:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3456: FILE: disas/loongson2f.cpp:3400:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3469: FILE: disas/loongson2f.cpp:3413:
+    getAlias(alias1, ((Fields32FsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3471: FILE: disas/loongson2f.cpp:3415:
+     alias1, ((Fields32FsRt*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3484: FILE: disas/loongson2f.cpp:3428:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3485: FILE: disas/loongson2f.cpp:3429:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3486: FILE: disas/loongson2f.cpp:3430:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3499: FILE: disas/loongson2f.cpp:3443:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3500: FILE: disas/loongson2f.cpp:3444:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3501: FILE: disas/loongson2f.cpp:3445:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3514: FILE: disas/loongson2f.cpp:3458:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3515: FILE: disas/loongson2f.cpp:3459:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3528: FILE: disas/loongson2f.cpp:3472:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3529: FILE: disas/loongson2f.cpp:3473:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3542: FILE: disas/loongson2f.cpp:3486:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3543: FILE: disas/loongson2f.cpp:3487:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3556: FILE: disas/loongson2f.cpp:3500:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3557: FILE: disas/loongson2f.cpp:3501:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3570: FILE: disas/loongson2f.cpp:3514:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3571: FILE: disas/loongson2f.cpp:3515:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3584: FILE: disas/loongson2f.cpp:3528:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3585: FILE: disas/loongson2f.cpp:3529:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3598: FILE: disas/loongson2f.cpp:3542:
+     ((Fields32BaseFtOffset*)this->fields32)->getFt(),

ERROR: "(foo*)" should be "(foo *)"
#3599: FILE: disas/loongson2f.cpp:3543:
+     ((Fields32BaseFtOffset*)this->fields32)->getOffset(),

ERROR: "(foo*)" should be "(foo *)"
#3600: FILE: disas/loongson2f.cpp:3544:
+     ((Fields32BaseFtOffset*)this->fields32)->getBase()));

ERROR: "(foo*)" should be "(foo *)"
#3613: FILE: disas/loongson2f.cpp:3557:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3614: FILE: disas/loongson2f.cpp:3558:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3627: FILE: disas/loongson2f.cpp:3571:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3628: FILE: disas/loongson2f.cpp:3572:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3641: FILE: disas/loongson2f.cpp:3585:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3642: FILE: disas/loongson2f.cpp:3586:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3643: FILE: disas/loongson2f.cpp:3587:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3656: FILE: disas/loongson2f.cpp:3600:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3657: FILE: disas/loongson2f.cpp:3601:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3658: FILE: disas/loongson2f.cpp:3602:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3671: FILE: disas/loongson2f.cpp:3615:
+     ((Fields32BaseFtOffset*)this->fields32)->getFt(),

ERROR: "(foo*)" should be "(foo *)"
#3672: FILE: disas/loongson2f.cpp:3616:
+     ((Fields32BaseFtOffset*)this->fields32)->getOffset(),

ERROR: "(foo*)" should be "(foo *)"
#3673: FILE: disas/loongson2f.cpp:3617:
+     ((Fields32BaseFtOffset*)this->fields32)->getBase()));

ERROR: "(foo*)" should be "(foo *)"
#3686: FILE: disas/loongson2f.cpp:3630:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3687: FILE: disas/loongson2f.cpp:3631:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3700: FILE: disas/loongson2f.cpp:3644:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3701: FILE: disas/loongson2f.cpp:3645:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3714: FILE: disas/loongson2f.cpp:3658:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3715: FILE: disas/loongson2f.cpp:3659:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3728: FILE: disas/loongson2f.cpp:3672:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3729: FILE: disas/loongson2f.cpp:3673:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#3744: FILE: disas/loongson2f.cpp:3688:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3745: FILE: disas/loongson2f.cpp:3689:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3746: FILE: disas/loongson2f.cpp:3690:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3763: FILE: disas/loongson2f.cpp:3707:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3764: FILE: disas/loongson2f.cpp:3708:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3765: FILE: disas/loongson2f.cpp:3709:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3782: FILE: disas/loongson2f.cpp:3726:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3783: FILE: disas/loongson2f.cpp:3727:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3784: FILE: disas/loongson2f.cpp:3728:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3801: FILE: disas/loongson2f.cpp:3745:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3802: FILE: disas/loongson2f.cpp:3746:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3803: FILE: disas/loongson2f.cpp:3747:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3820: FILE: disas/loongson2f.cpp:3764:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3821: FILE: disas/loongson2f.cpp:3765:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3822: FILE: disas/loongson2f.cpp:3766:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3839: FILE: disas/loongson2f.cpp:3783:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3840: FILE: disas/loongson2f.cpp:3784:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3841: FILE: disas/loongson2f.cpp:3785:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3858: FILE: disas/loongson2f.cpp:3802:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3859: FILE: disas/loongson2f.cpp:3803:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3860: FILE: disas/loongson2f.cpp:3804:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3877: FILE: disas/loongson2f.cpp:3821:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3878: FILE: disas/loongson2f.cpp:3822:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3879: FILE: disas/loongson2f.cpp:3823:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3896: FILE: disas/loongson2f.cpp:3840:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3897: FILE: disas/loongson2f.cpp:3841:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3898: FILE: disas/loongson2f.cpp:3842:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3915: FILE: disas/loongson2f.cpp:3859:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3916: FILE: disas/loongson2f.cpp:3860:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3917: FILE: disas/loongson2f.cpp:3861:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3934: FILE: disas/loongson2f.cpp:3878:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3935: FILE: disas/loongson2f.cpp:3879:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3936: FILE: disas/loongson2f.cpp:3880:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3953: FILE: disas/loongson2f.cpp:3897:
+    getAlias(alias1, ((Fields32RdRsRt*)this->fields32)->getRd());

ERROR: "(foo*)" should be "(foo *)"
#3954: FILE: disas/loongson2f.cpp:3898:
+    getAlias(alias2, ((Fields32RdRsRt*)this->fields32)->getRs());

ERROR: "(foo*)" should be "(foo *)"
#3955: FILE: disas/loongson2f.cpp:3899:
+    getAlias(alias3, ((Fields32RdRsRt*)this->fields32)->getRt());

ERROR: "(foo*)" should be "(foo *)"
#3970: FILE: disas/loongson2f.cpp:3914:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3971: FILE: disas/loongson2f.cpp:3915:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3972: FILE: disas/loongson2f.cpp:3916:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#3985: FILE: disas/loongson2f.cpp:3929:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#3986: FILE: disas/loongson2f.cpp:3930:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#3987: FILE: disas/loongson2f.cpp:3931:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4000: FILE: disas/loongson2f.cpp:3944:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4001: FILE: disas/loongson2f.cpp:3945:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4002: FILE: disas/loongson2f.cpp:3946:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4015: FILE: disas/loongson2f.cpp:3959:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4016: FILE: disas/loongson2f.cpp:3960:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4017: FILE: disas/loongson2f.cpp:3961:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4030: FILE: disas/loongson2f.cpp:3974:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4031: FILE: disas/loongson2f.cpp:3975:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4032: FILE: disas/loongson2f.cpp:3976:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4045: FILE: disas/loongson2f.cpp:3989:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4046: FILE: disas/loongson2f.cpp:3990:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4047: FILE: disas/loongson2f.cpp:3991:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4060: FILE: disas/loongson2f.cpp:4004:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4061: FILE: disas/loongson2f.cpp:4005:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4062: FILE: disas/loongson2f.cpp:4006:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4075: FILE: disas/loongson2f.cpp:4019:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4076: FILE: disas/loongson2f.cpp:4020:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4077: FILE: disas/loongson2f.cpp:4021:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4090: FILE: disas/loongson2f.cpp:4034:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4091: FILE: disas/loongson2f.cpp:4035:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4092: FILE: disas/loongson2f.cpp:4036:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4105: FILE: disas/loongson2f.cpp:4049:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4106: FILE: disas/loongson2f.cpp:4050:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4107: FILE: disas/loongson2f.cpp:4051:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4120: FILE: disas/loongson2f.cpp:4064:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4121: FILE: disas/loongson2f.cpp:4065:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4122: FILE: disas/loongson2f.cpp:4066:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4135: FILE: disas/loongson2f.cpp:4079:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4136: FILE: disas/loongson2f.cpp:4080:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4137: FILE: disas/loongson2f.cpp:4081:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4150: FILE: disas/loongson2f.cpp:4094:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4151: FILE: disas/loongson2f.cpp:4095:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4152: FILE: disas/loongson2f.cpp:4096:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4165: FILE: disas/loongson2f.cpp:4109:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4166: FILE: disas/loongson2f.cpp:4110:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4167: FILE: disas/loongson2f.cpp:4111:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4180: FILE: disas/loongson2f.cpp:4124:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4181: FILE: disas/loongson2f.cpp:4125:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4182: FILE: disas/loongson2f.cpp:4126:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4195: FILE: disas/loongson2f.cpp:4139:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4196: FILE: disas/loongson2f.cpp:4140:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4197: FILE: disas/loongson2f.cpp:4141:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4210: FILE: disas/loongson2f.cpp:4154:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4211: FILE: disas/loongson2f.cpp:4155:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4212: FILE: disas/loongson2f.cpp:4156:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4225: FILE: disas/loongson2f.cpp:4169:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4226: FILE: disas/loongson2f.cpp:4170:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4227: FILE: disas/loongson2f.cpp:4171:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4240: FILE: disas/loongson2f.cpp:4184:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4241: FILE: disas/loongson2f.cpp:4185:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4242: FILE: disas/loongson2f.cpp:4186:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4255: FILE: disas/loongson2f.cpp:4199:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4256: FILE: disas/loongson2f.cpp:4200:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4257: FILE: disas/loongson2f.cpp:4201:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4270: FILE: disas/loongson2f.cpp:4214:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4271: FILE: disas/loongson2f.cpp:4215:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4272: FILE: disas/loongson2f.cpp:4216:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4285: FILE: disas/loongson2f.cpp:4229:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4286: FILE: disas/loongson2f.cpp:4230:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4287: FILE: disas/loongson2f.cpp:4231:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4300: FILE: disas/loongson2f.cpp:4244:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4301: FILE: disas/loongson2f.cpp:4245:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4302: FILE: disas/loongson2f.cpp:4246:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4315: FILE: disas/loongson2f.cpp:4259:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4316: FILE: disas/loongson2f.cpp:4260:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4317: FILE: disas/loongson2f.cpp:4261:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4330: FILE: disas/loongson2f.cpp:4274:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4331: FILE: disas/loongson2f.cpp:4275:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4332: FILE: disas/loongson2f.cpp:4276:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4345: FILE: disas/loongson2f.cpp:4289:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4346: FILE: disas/loongson2f.cpp:4290:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4347: FILE: disas/loongson2f.cpp:4291:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4360: FILE: disas/loongson2f.cpp:4304:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4361: FILE: disas/loongson2f.cpp:4305:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4362: FILE: disas/loongson2f.cpp:4306:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4375: FILE: disas/loongson2f.cpp:4319:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4376: FILE: disas/loongson2f.cpp:4320:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4377: FILE: disas/loongson2f.cpp:4321:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4390: FILE: disas/loongson2f.cpp:4334:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4391: FILE: disas/loongson2f.cpp:4335:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4392: FILE: disas/loongson2f.cpp:4336:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4405: FILE: disas/loongson2f.cpp:4349:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4406: FILE: disas/loongson2f.cpp:4350:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4407: FILE: disas/loongson2f.cpp:4351:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4420: FILE: disas/loongson2f.cpp:4364:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4421: FILE: disas/loongson2f.cpp:4365:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4422: FILE: disas/loongson2f.cpp:4366:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4435: FILE: disas/loongson2f.cpp:4379:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4436: FILE: disas/loongson2f.cpp:4380:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4437: FILE: disas/loongson2f.cpp:4381:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4450: FILE: disas/loongson2f.cpp:4394:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4451: FILE: disas/loongson2f.cpp:4395:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4452: FILE: disas/loongson2f.cpp:4396:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4465: FILE: disas/loongson2f.cpp:4409:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4466: FILE: disas/loongson2f.cpp:4410:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4467: FILE: disas/loongson2f.cpp:4411:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4480: FILE: disas/loongson2f.cpp:4424:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4481: FILE: disas/loongson2f.cpp:4425:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4482: FILE: disas/loongson2f.cpp:4426:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4495: FILE: disas/loongson2f.cpp:4439:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4496: FILE: disas/loongson2f.cpp:4440:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4497: FILE: disas/loongson2f.cpp:4441:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4510: FILE: disas/loongson2f.cpp:4454:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4511: FILE: disas/loongson2f.cpp:4455:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4512: FILE: disas/loongson2f.cpp:4456:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4525: FILE: disas/loongson2f.cpp:4469:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4526: FILE: disas/loongson2f.cpp:4470:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4527: FILE: disas/loongson2f.cpp:4471:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4540: FILE: disas/loongson2f.cpp:4484:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4541: FILE: disas/loongson2f.cpp:4485:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#4554: FILE: disas/loongson2f.cpp:4498:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4555: FILE: disas/loongson2f.cpp:4499:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4556: FILE: disas/loongson2f.cpp:4500:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4569: FILE: disas/loongson2f.cpp:4513:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4570: FILE: disas/loongson2f.cpp:4514:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4571: FILE: disas/loongson2f.cpp:4515:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4584: FILE: disas/loongson2f.cpp:4528:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4585: FILE: disas/loongson2f.cpp:4529:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4586: FILE: disas/loongson2f.cpp:4530:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4599: FILE: disas/loongson2f.cpp:4543:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4600: FILE: disas/loongson2f.cpp:4544:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4601: FILE: disas/loongson2f.cpp:4545:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4614: FILE: disas/loongson2f.cpp:4558:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4615: FILE: disas/loongson2f.cpp:4559:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4616: FILE: disas/loongson2f.cpp:4560:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4629: FILE: disas/loongson2f.cpp:4573:
+     ((Fields32FdFs*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4630: FILE: disas/loongson2f.cpp:4574:
+     ((Fields32FdFs*)this->fields32)->getFs()));

ERROR: "(foo*)" should be "(foo *)"
#4643: FILE: disas/loongson2f.cpp:4587:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4644: FILE: disas/loongson2f.cpp:4588:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4645: FILE: disas/loongson2f.cpp:4589:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4658: FILE: disas/loongson2f.cpp:4602:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4659: FILE: disas/loongson2f.cpp:4603:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4660: FILE: disas/loongson2f.cpp:4604:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4673: FILE: disas/loongson2f.cpp:4617:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4674: FILE: disas/loongson2f.cpp:4618:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4675: FILE: disas/loongson2f.cpp:4619:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4688: FILE: disas/loongson2f.cpp:4632:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4689: FILE: disas/loongson2f.cpp:4633:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4690: FILE: disas/loongson2f.cpp:4634:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4703: FILE: disas/loongson2f.cpp:4647:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4704: FILE: disas/loongson2f.cpp:4648:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4705: FILE: disas/loongson2f.cpp:4649:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4718: FILE: disas/loongson2f.cpp:4662:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4719: FILE: disas/loongson2f.cpp:4663:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4720: FILE: disas/loongson2f.cpp:4664:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4733: FILE: disas/loongson2f.cpp:4677:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4734: FILE: disas/loongson2f.cpp:4678:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4735: FILE: disas/loongson2f.cpp:4679:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4748: FILE: disas/loongson2f.cpp:4692:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4749: FILE: disas/loongson2f.cpp:4693:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4750: FILE: disas/loongson2f.cpp:4694:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4763: FILE: disas/loongson2f.cpp:4707:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4764: FILE: disas/loongson2f.cpp:4708:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4765: FILE: disas/loongson2f.cpp:4709:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4778: FILE: disas/loongson2f.cpp:4722:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4779: FILE: disas/loongson2f.cpp:4723:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4780: FILE: disas/loongson2f.cpp:4724:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4793: FILE: disas/loongson2f.cpp:4737:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4794: FILE: disas/loongson2f.cpp:4738:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4795: FILE: disas/loongson2f.cpp:4739:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4808: FILE: disas/loongson2f.cpp:4752:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4809: FILE: disas/loongson2f.cpp:4753:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4810: FILE: disas/loongson2f.cpp:4754:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4823: FILE: disas/loongson2f.cpp:4767:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4824: FILE: disas/loongson2f.cpp:4768:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4825: FILE: disas/loongson2f.cpp:4769:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4838: FILE: disas/loongson2f.cpp:4782:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4839: FILE: disas/loongson2f.cpp:4783:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4840: FILE: disas/loongson2f.cpp:4784:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4853: FILE: disas/loongson2f.cpp:4797:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4854: FILE: disas/loongson2f.cpp:4798:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4855: FILE: disas/loongson2f.cpp:4799:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4868: FILE: disas/loongson2f.cpp:4812:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4869: FILE: disas/loongson2f.cpp:4813:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4870: FILE: disas/loongson2f.cpp:4814:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4883: FILE: disas/loongson2f.cpp:4827:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4884: FILE: disas/loongson2f.cpp:4828:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4885: FILE: disas/loongson2f.cpp:4829:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4898: FILE: disas/loongson2f.cpp:4842:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4899: FILE: disas/loongson2f.cpp:4843:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4900: FILE: disas/loongson2f.cpp:4844:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4913: FILE: disas/loongson2f.cpp:4857:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4914: FILE: disas/loongson2f.cpp:4858:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4915: FILE: disas/loongson2f.cpp:4859:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4928: FILE: disas/loongson2f.cpp:4872:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4929: FILE: disas/loongson2f.cpp:4873:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4930: FILE: disas/loongson2f.cpp:4874:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4943: FILE: disas/loongson2f.cpp:4887:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4944: FILE: disas/loongson2f.cpp:4888:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4945: FILE: disas/loongson2f.cpp:4889:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4958: FILE: disas/loongson2f.cpp:4902:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4959: FILE: disas/loongson2f.cpp:4903:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4960: FILE: disas/loongson2f.cpp:4904:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4973: FILE: disas/loongson2f.cpp:4917:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4974: FILE: disas/loongson2f.cpp:4918:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4975: FILE: disas/loongson2f.cpp:4919:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#4988: FILE: disas/loongson2f.cpp:4932:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#4989: FILE: disas/loongson2f.cpp:4933:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#4990: FILE: disas/loongson2f.cpp:4934:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5003: FILE: disas/loongson2f.cpp:4947:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5004: FILE: disas/loongson2f.cpp:4948:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5005: FILE: disas/loongson2f.cpp:4949:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5018: FILE: disas/loongson2f.cpp:4962:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5019: FILE: disas/loongson2f.cpp:4963:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5020: FILE: disas/loongson2f.cpp:4964:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5033: FILE: disas/loongson2f.cpp:4977:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5034: FILE: disas/loongson2f.cpp:4978:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5035: FILE: disas/loongson2f.cpp:4979:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5048: FILE: disas/loongson2f.cpp:4992:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5049: FILE: disas/loongson2f.cpp:4993:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5050: FILE: disas/loongson2f.cpp:4994:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5063: FILE: disas/loongson2f.cpp:5007:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5064: FILE: disas/loongson2f.cpp:5008:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5065: FILE: disas/loongson2f.cpp:5009:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5078: FILE: disas/loongson2f.cpp:5022:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5079: FILE: disas/loongson2f.cpp:5023:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5080: FILE: disas/loongson2f.cpp:5024:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5093: FILE: disas/loongson2f.cpp:5037:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5094: FILE: disas/loongson2f.cpp:5038:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5095: FILE: disas/loongson2f.cpp:5039:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5108: FILE: disas/loongson2f.cpp:5052:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5109: FILE: disas/loongson2f.cpp:5053:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5110: FILE: disas/loongson2f.cpp:5054:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5123: FILE: disas/loongson2f.cpp:5067:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5124: FILE: disas/loongson2f.cpp:5068:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5125: FILE: disas/loongson2f.cpp:5069:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5138: FILE: disas/loongson2f.cpp:5082:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5139: FILE: disas/loongson2f.cpp:5083:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5140: FILE: disas/loongson2f.cpp:5084:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5153: FILE: disas/loongson2f.cpp:5097:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5154: FILE: disas/loongson2f.cpp:5098:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5155: FILE: disas/loongson2f.cpp:5099:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5168: FILE: disas/loongson2f.cpp:5112:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5169: FILE: disas/loongson2f.cpp:5113:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5170: FILE: disas/loongson2f.cpp:5114:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5183: FILE: disas/loongson2f.cpp:5127:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5184: FILE: disas/loongson2f.cpp:5128:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5185: FILE: disas/loongson2f.cpp:5129:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5198: FILE: disas/loongson2f.cpp:5142:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5199: FILE: disas/loongson2f.cpp:5143:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5200: FILE: disas/loongson2f.cpp:5144:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5213: FILE: disas/loongson2f.cpp:5157:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5214: FILE: disas/loongson2f.cpp:5158:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5215: FILE: disas/loongson2f.cpp:5159:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5228: FILE: disas/loongson2f.cpp:5172:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5229: FILE: disas/loongson2f.cpp:5173:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5230: FILE: disas/loongson2f.cpp:5174:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5243: FILE: disas/loongson2f.cpp:5187:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5244: FILE: disas/loongson2f.cpp:5188:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5245: FILE: disas/loongson2f.cpp:5189:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5258: FILE: disas/loongson2f.cpp:5202:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5259: FILE: disas/loongson2f.cpp:5203:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5260: FILE: disas/loongson2f.cpp:5204:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "(foo*)" should be "(foo *)"
#5273: FILE: disas/loongson2f.cpp:5217:
+     ((Fields32FdFsFt*)this->fields32)->getFd(),

ERROR: "(foo*)" should be "(foo *)"
#5274: FILE: disas/loongson2f.cpp:5218:
+     ((Fields32FdFsFt*)this->fields32)->getFs(),

ERROR: "(foo*)" should be "(foo *)"
#5275: FILE: disas/loongson2f.cpp:5219:
+     ((Fields32FdFsFt*)this->fields32)->getFt()));

ERROR: "foo* bar" should be "foo *bar"
#8601: FILE: disas/loongson2f.h:405:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8608: FILE: disas/loongson2f.h:412:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8615: FILE: disas/loongson2f.h:419:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8622: FILE: disas/loongson2f.h:426:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8629: FILE: disas/loongson2f.h:433:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8636: FILE: disas/loongson2f.h:440:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8643: FILE: disas/loongson2f.h:447:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8650: FILE: disas/loongson2f.h:454:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8657: FILE: disas/loongson2f.h:461:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8664: FILE: disas/loongson2f.h:468:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8671: FILE: disas/loongson2f.h:475:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8678: FILE: disas/loongson2f.h:482:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8685: FILE: disas/loongson2f.h:489:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8692: FILE: disas/loongson2f.h:496:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8699: FILE: disas/loongson2f.h:503:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8706: FILE: disas/loongson2f.h:510:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8713: FILE: disas/loongson2f.h:517:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8720: FILE: disas/loongson2f.h:524:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8727: FILE: disas/loongson2f.h:531:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8734: FILE: disas/loongson2f.h:538:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8741: FILE: disas/loongson2f.h:545:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8748: FILE: disas/loongson2f.h:552:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8755: FILE: disas/loongson2f.h:559:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8762: FILE: disas/loongson2f.h:566:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8769: FILE: disas/loongson2f.h:573:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8776: FILE: disas/loongson2f.h:580:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8783: FILE: disas/loongson2f.h:587:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8790: FILE: disas/loongson2f.h:594:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8797: FILE: disas/loongson2f.h:601:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8804: FILE: disas/loongson2f.h:608:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8811: FILE: disas/loongson2f.h:615:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8818: FILE: disas/loongson2f.h:622:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8825: FILE: disas/loongson2f.h:629:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8832: FILE: disas/loongson2f.h:636:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8839: FILE: disas/loongson2f.h:643:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8846: FILE: disas/loongson2f.h:650:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8853: FILE: disas/loongson2f.h:657:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8860: FILE: disas/loongson2f.h:664:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8867: FILE: disas/loongson2f.h:671:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8874: FILE: disas/loongson2f.h:678:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8881: FILE: disas/loongson2f.h:685:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8888: FILE: disas/loongson2f.h:692:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8895: FILE: disas/loongson2f.h:699:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8902: FILE: disas/loongson2f.h:706:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8909: FILE: disas/loongson2f.h:713:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8916: FILE: disas/loongson2f.h:720:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8923: FILE: disas/loongson2f.h:727:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8930: FILE: disas/loongson2f.h:734:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8937: FILE: disas/loongson2f.h:741:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8944: FILE: disas/loongson2f.h:748:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8951: FILE: disas/loongson2f.h:755:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8958: FILE: disas/loongson2f.h:762:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8965: FILE: disas/loongson2f.h:769:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8972: FILE: disas/loongson2f.h:776:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8979: FILE: disas/loongson2f.h:783:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8986: FILE: disas/loongson2f.h:790:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#8993: FILE: disas/loongson2f.h:797:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9000: FILE: disas/loongson2f.h:804:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9007: FILE: disas/loongson2f.h:811:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9014: FILE: disas/loongson2f.h:818:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9021: FILE: disas/loongson2f.h:825:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9028: FILE: disas/loongson2f.h:832:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9035: FILE: disas/loongson2f.h:839:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9042: FILE: disas/loongson2f.h:846:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9049: FILE: disas/loongson2f.h:853:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9056: FILE: disas/loongson2f.h:860:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9063: FILE: disas/loongson2f.h:867:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9070: FILE: disas/loongson2f.h:874:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9077: FILE: disas/loongson2f.h:881:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9084: FILE: disas/loongson2f.h:888:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9091: FILE: disas/loongson2f.h:895:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9098: FILE: disas/loongson2f.h:902:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9105: FILE: disas/loongson2f.h:909:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9112: FILE: disas/loongson2f.h:916:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9119: FILE: disas/loongson2f.h:923:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9126: FILE: disas/loongson2f.h:930:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9133: FILE: disas/loongson2f.h:937:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9140: FILE: disas/loongson2f.h:944:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9147: FILE: disas/loongson2f.h:951:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9154: FILE: disas/loongson2f.h:958:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9161: FILE: disas/loongson2f.h:965:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9168: FILE: disas/loongson2f.h:972:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9175: FILE: disas/loongson2f.h:979:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9182: FILE: disas/loongson2f.h:986:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9189: FILE: disas/loongson2f.h:993:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9196: FILE: disas/loongson2f.h:1000:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9203: FILE: disas/loongson2f.h:1007:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9210: FILE: disas/loongson2f.h:1014:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9217: FILE: disas/loongson2f.h:1021:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9224: FILE: disas/loongson2f.h:1028:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9231: FILE: disas/loongson2f.h:1035:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9238: FILE: disas/loongson2f.h:1042:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9245: FILE: disas/loongson2f.h:1049:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9252: FILE: disas/loongson2f.h:1056:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9259: FILE: disas/loongson2f.h:1063:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9266: FILE: disas/loongson2f.h:1070:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9273: FILE: disas/loongson2f.h:1077:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9280: FILE: disas/loongson2f.h:1084:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9287: FILE: disas/loongson2f.h:1091:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9294: FILE: disas/loongson2f.h:1098:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9301: FILE: disas/loongson2f.h:1105:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9308: FILE: disas/loongson2f.h:1112:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9315: FILE: disas/loongson2f.h:1119:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9322: FILE: disas/loongson2f.h:1126:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9329: FILE: disas/loongson2f.h:1133:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9336: FILE: disas/loongson2f.h:1140:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9343: FILE: disas/loongson2f.h:1147:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9350: FILE: disas/loongson2f.h:1154:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9357: FILE: disas/loongson2f.h:1161:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9364: FILE: disas/loongson2f.h:1168:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9371: FILE: disas/loongson2f.h:1175:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9378: FILE: disas/loongson2f.h:1182:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9385: FILE: disas/loongson2f.h:1189:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9392: FILE: disas/loongson2f.h:1196:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9399: FILE: disas/loongson2f.h:1203:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9406: FILE: disas/loongson2f.h:1210:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9413: FILE: disas/loongson2f.h:1217:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9420: FILE: disas/loongson2f.h:1224:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9427: FILE: disas/loongson2f.h:1231:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9434: FILE: disas/loongson2f.h:1238:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9441: FILE: disas/loongson2f.h:1245:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9448: FILE: disas/loongson2f.h:1252:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9455: FILE: disas/loongson2f.h:1259:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9462: FILE: disas/loongson2f.h:1266:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9469: FILE: disas/loongson2f.h:1273:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9476: FILE: disas/loongson2f.h:1280:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9483: FILE: disas/loongson2f.h:1287:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9490: FILE: disas/loongson2f.h:1294:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9497: FILE: disas/loongson2f.h:1301:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9504: FILE: disas/loongson2f.h:1308:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9511: FILE: disas/loongson2f.h:1315:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9518: FILE: disas/loongson2f.h:1322:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9525: FILE: disas/loongson2f.h:1329:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9532: FILE: disas/loongson2f.h:1336:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9539: FILE: disas/loongson2f.h:1343:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9546: FILE: disas/loongson2f.h:1350:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9553: FILE: disas/loongson2f.h:1357:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9560: FILE: disas/loongson2f.h:1364:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9567: FILE: disas/loongson2f.h:1371:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9574: FILE: disas/loongson2f.h:1378:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9581: FILE: disas/loongson2f.h:1385:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9588: FILE: disas/loongson2f.h:1392:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9595: FILE: disas/loongson2f.h:1399:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9602: FILE: disas/loongson2f.h:1406:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9609: FILE: disas/loongson2f.h:1413:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9616: FILE: disas/loongson2f.h:1420:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9623: FILE: disas/loongson2f.h:1427:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9630: FILE: disas/loongson2f.h:1434:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9637: FILE: disas/loongson2f.h:1441:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9644: FILE: disas/loongson2f.h:1448:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9651: FILE: disas/loongson2f.h:1455:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9658: FILE: disas/loongson2f.h:1462:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9665: FILE: disas/loongson2f.h:1469:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9672: FILE: disas/loongson2f.h:1476:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9679: FILE: disas/loongson2f.h:1483:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9686: FILE: disas/loongson2f.h:1490:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9693: FILE: disas/loongson2f.h:1497:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9700: FILE: disas/loongson2f.h:1504:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9707: FILE: disas/loongson2f.h:1511:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9714: FILE: disas/loongson2f.h:1518:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9721: FILE: disas/loongson2f.h:1525:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9728: FILE: disas/loongson2f.h:1532:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9735: FILE: disas/loongson2f.h:1539:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9742: FILE: disas/loongson2f.h:1546:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9749: FILE: disas/loongson2f.h:1553:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9756: FILE: disas/loongson2f.h:1560:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9763: FILE: disas/loongson2f.h:1567:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9770: FILE: disas/loongson2f.h:1574:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9777: FILE: disas/loongson2f.h:1581:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9784: FILE: disas/loongson2f.h:1588:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9791: FILE: disas/loongson2f.h:1595:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9798: FILE: disas/loongson2f.h:1602:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9805: FILE: disas/loongson2f.h:1609:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9812: FILE: disas/loongson2f.h:1616:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9819: FILE: disas/loongson2f.h:1623:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9826: FILE: disas/loongson2f.h:1630:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9833: FILE: disas/loongson2f.h:1637:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9840: FILE: disas/loongson2f.h:1644:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9847: FILE: disas/loongson2f.h:1651:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9854: FILE: disas/loongson2f.h:1658:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9861: FILE: disas/loongson2f.h:1665:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9868: FILE: disas/loongson2f.h:1672:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9875: FILE: disas/loongson2f.h:1679:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9882: FILE: disas/loongson2f.h:1686:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9889: FILE: disas/loongson2f.h:1693:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9896: FILE: disas/loongson2f.h:1700:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9903: FILE: disas/loongson2f.h:1707:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9910: FILE: disas/loongson2f.h:1714:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9917: FILE: disas/loongson2f.h:1721:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9924: FILE: disas/loongson2f.h:1728:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9931: FILE: disas/loongson2f.h:1735:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9938: FILE: disas/loongson2f.h:1742:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9945: FILE: disas/loongson2f.h:1749:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9952: FILE: disas/loongson2f.h:1756:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9959: FILE: disas/loongson2f.h:1763:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9966: FILE: disas/loongson2f.h:1770:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9973: FILE: disas/loongson2f.h:1777:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9980: FILE: disas/loongson2f.h:1784:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9987: FILE: disas/loongson2f.h:1791:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#9994: FILE: disas/loongson2f.h:1798:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10001: FILE: disas/loongson2f.h:1805:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10008: FILE: disas/loongson2f.h:1812:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10015: FILE: disas/loongson2f.h:1819:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10022: FILE: disas/loongson2f.h:1826:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10029: FILE: disas/loongson2f.h:1833:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10036: FILE: disas/loongson2f.h:1840:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10043: FILE: disas/loongson2f.h:1847:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10050: FILE: disas/loongson2f.h:1854:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10057: FILE: disas/loongson2f.h:1861:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10064: FILE: disas/loongson2f.h:1868:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10071: FILE: disas/loongson2f.h:1875:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10078: FILE: disas/loongson2f.h:1882:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10085: FILE: disas/loongson2f.h:1889:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10092: FILE: disas/loongson2f.h:1896:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10099: FILE: disas/loongson2f.h:1903:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10106: FILE: disas/loongson2f.h:1910:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10113: FILE: disas/loongson2f.h:1917:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10120: FILE: disas/loongson2f.h:1924:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10127: FILE: disas/loongson2f.h:1931:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10134: FILE: disas/loongson2f.h:1938:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10141: FILE: disas/loongson2f.h:1945:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10148: FILE: disas/loongson2f.h:1952:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10155: FILE: disas/loongson2f.h:1959:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10162: FILE: disas/loongson2f.h:1966:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10169: FILE: disas/loongson2f.h:1973:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10176: FILE: disas/loongson2f.h:1980:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10183: FILE: disas/loongson2f.h:1987:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10190: FILE: disas/loongson2f.h:1994:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10197: FILE: disas/loongson2f.h:2001:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10204: FILE: disas/loongson2f.h:2008:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10211: FILE: disas/loongson2f.h:2015:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10218: FILE: disas/loongson2f.h:2022:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10225: FILE: disas/loongson2f.h:2029:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10232: FILE: disas/loongson2f.h:2036:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10239: FILE: disas/loongson2f.h:2043:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10246: FILE: disas/loongson2f.h:2050:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10253: FILE: disas/loongson2f.h:2057:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10260: FILE: disas/loongson2f.h:2064:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10267: FILE: disas/loongson2f.h:2071:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10274: FILE: disas/loongson2f.h:2078:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10281: FILE: disas/loongson2f.h:2085:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10288: FILE: disas/loongson2f.h:2092:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10295: FILE: disas/loongson2f.h:2099:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10302: FILE: disas/loongson2f.h:2106:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10309: FILE: disas/loongson2f.h:2113:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10316: FILE: disas/loongson2f.h:2120:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10323: FILE: disas/loongson2f.h:2127:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10330: FILE: disas/loongson2f.h:2134:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10337: FILE: disas/loongson2f.h:2141:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10344: FILE: disas/loongson2f.h:2148:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10351: FILE: disas/loongson2f.h:2155:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10358: FILE: disas/loongson2f.h:2162:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10365: FILE: disas/loongson2f.h:2169:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10372: FILE: disas/loongson2f.h:2176:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10379: FILE: disas/loongson2f.h:2183:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10386: FILE: disas/loongson2f.h:2190:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10393: FILE: disas/loongson2f.h:2197:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10400: FILE: disas/loongson2f.h:2204:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10407: FILE: disas/loongson2f.h:2211:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10414: FILE: disas/loongson2f.h:2218:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10421: FILE: disas/loongson2f.h:2225:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10428: FILE: disas/loongson2f.h:2232:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10435: FILE: disas/loongson2f.h:2239:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10442: FILE: disas/loongson2f.h:2246:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10449: FILE: disas/loongson2f.h:2253:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10456: FILE: disas/loongson2f.h:2260:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10463: FILE: disas/loongson2f.h:2267:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10470: FILE: disas/loongson2f.h:2274:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10477: FILE: disas/loongson2f.h:2281:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10484: FILE: disas/loongson2f.h:2288:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10491: FILE: disas/loongson2f.h:2295:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10498: FILE: disas/loongson2f.h:2302:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10505: FILE: disas/loongson2f.h:2309:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10512: FILE: disas/loongson2f.h:2316:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10519: FILE: disas/loongson2f.h:2323:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10526: FILE: disas/loongson2f.h:2330:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10533: FILE: disas/loongson2f.h:2337:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10540: FILE: disas/loongson2f.h:2344:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10547: FILE: disas/loongson2f.h:2351:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10554: FILE: disas/loongson2f.h:2358:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10561: FILE: disas/loongson2f.h:2365:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10568: FILE: disas/loongson2f.h:2372:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10575: FILE: disas/loongson2f.h:2379:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10582: FILE: disas/loongson2f.h:2386:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10589: FILE: disas/loongson2f.h:2393:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10596: FILE: disas/loongson2f.h:2400:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10603: FILE: disas/loongson2f.h:2407:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10610: FILE: disas/loongson2f.h:2414:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10617: FILE: disas/loongson2f.h:2421:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10624: FILE: disas/loongson2f.h:2428:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10631: FILE: disas/loongson2f.h:2435:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10638: FILE: disas/loongson2f.h:2442:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10645: FILE: disas/loongson2f.h:2449:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10652: FILE: disas/loongson2f.h:2456:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10659: FILE: disas/loongson2f.h:2463:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10666: FILE: disas/loongson2f.h:2470:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10673: FILE: disas/loongson2f.h:2477:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10680: FILE: disas/loongson2f.h:2484:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10687: FILE: disas/loongson2f.h:2491:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10694: FILE: disas/loongson2f.h:2498:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10701: FILE: disas/loongson2f.h:2505:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10708: FILE: disas/loongson2f.h:2512:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10715: FILE: disas/loongson2f.h:2519:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10722: FILE: disas/loongson2f.h:2526:
+    bool disas_output(disassemble_info* info);

ERROR: "foo* bar" should be "foo *bar"
#10729: FILE: disas/loongson2f.h:2533:
+    bool disas_output(disassemble_info* info);

ERROR: space prohibited between function name and open parenthesis '('
#10747: FILE: include/disas/dis-asm.h:399:
+int print_insn_loongson2f       (bfd_vma, disassemble_info*);

ERROR: space required before the open parenthesis '('
#10772: FILE: target/mips/cpu.c:136:
+    if(env->insn_flags & INSN_LOONGSON2F) {

total: 1082 errors, 1 warnings, 10721 lines checked

Commit b69eeaa75ba9 (disas: mips: Add Loongson 2F disassembler) has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200702194230.10769-1-stefan.brankovic@syrmia.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] disas: mips: Add Loongson 2F disassembler
  2020-07-02 19:42 ` [PATCH 1/1] disas: mips: " Stefan Brankovic
@ 2020-07-03  7:59   ` Thomas Huth
  2020-07-03  9:49     ` Stefan Brankovic
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Huth @ 2020-07-03  7:59 UTC (permalink / raw)
  To: Stefan Brankovic, qemu-devel
  Cc: aleksandar.rikalo, Markus Armbruster, aleksandar.qemu.devel,
	stefan.brankovic, chenhc, Richard Henderson

On 02/07/2020 21.42, Stefan Brankovic wrote:
> Add disassembler for Loongson 2F instruction set.
> 
> Testing is done by comparing qemu disassembly output, obtained by
> using -d in_asm command line option, with appropriate objdump output.
> 
> Signed-off-by: Stefan Brankovic <stefan.brankovic@syrmia.com>
> ---
>   MAINTAINERS             |    1 +
>   configure               |    1 +
>   disas/Makefile.objs     |    1 +
>   disas/loongson2f.cpp    | 8134 +++++++++++++++++++++++++++++++++++++++
>   disas/loongson2f.h      | 2542 ++++++++++++
>   include/disas/dis-asm.h |    1 +
>   include/exec/poison.h   |    1 +
>   target/mips/cpu.c       |    4 +
>   8 files changed, 10685 insertions(+)
>   create mode 100644 disas/loongson2f.cpp
>   create mode 100644 disas/loongson2f.h
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 3abe3faa4e..913ed2a6d3 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -219,6 +219,7 @@ S: Maintained
>   F: target/mips/
>   F: default-configs/*mips*
>   F: disas/*mips*
> +F: disas/loongson*
>   F: docs/system/cpu-models-mips.rst.inc
>   F: hw/intc/mips_gic.c
>   F: hw/mips/
> diff --git a/configure b/configure
> index 597e909b53..e163dac53e 100755
> --- a/configure
> +++ b/configure
> @@ -8102,6 +8102,7 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
>       disas_config "MIPS"
>       if test -n "${cxx}"; then
>         disas_config "NANOMIPS"
> +      disas_config "LOONGSON2F"
>       fi
>     ;;
>     moxie*)
> diff --git a/disas/Makefile.objs b/disas/Makefile.objs
> index 3c1cdce026..0d5ee1e038 100644
> --- a/disas/Makefile.objs
> +++ b/disas/Makefile.objs
> @@ -14,6 +14,7 @@ common-obj-$(CONFIG_I386_DIS) += i386.o
>   common-obj-$(CONFIG_M68K_DIS) += m68k.o
>   common-obj-$(CONFIG_MICROBLAZE_DIS) += microblaze.o
>   common-obj-$(CONFIG_MIPS_DIS) += mips.o
> +common-obj-$(CONFIG_LOONGSON2F_DIS) += loongson2f.o
>   common-obj-$(CONFIG_NANOMIPS_DIS) += nanomips.o
>   common-obj-$(CONFIG_NIOS2_DIS) += nios2.o
>   common-obj-$(CONFIG_MOXIE_DIS) += moxie.o
> diff --git a/disas/loongson2f.cpp b/disas/loongson2f.cpp
> new file mode 100644
> index 0000000000..a2f32dcf93
> --- /dev/null
> +++ b/disas/loongson2f.cpp
> @@ -0,0 +1,8134 @@

This file (and the header) lack a proper header comment. Which license 
do you want to use for this code? Who wrote the initial implementation?

Also, unless you've copied the code from another project that uses C++, 
why did you use C++ here? QEMU is C by default, we only allow C++ for 
some files that have been taken from other C++ projects and need to be 
kept in sync from time to time. So if you wrote this code from scratch, 
please use C instead.

  Thanks,
   Thomas


> +extern "C" {
> +#include "qemu/osdep.h"
> +#include "qemu/bitops.h"
> +#include "disas/dis-asm.h"
> +}
> +
> +#include "loongson2f.h"
> +
> +int print_insn_loongson2f(bfd_vma addr, disassemble_info *info)
> +{
> +    bfd_byte buffer[4];
> +    uint32_t insn32;
> +    int status;
> +    Decoder *decoder = new Decoder();
> +
> +    status = info->read_memory_func(addr, buffer, 4, info);
> +    if (status != 0) {
> +        info->memory_error_func(status, addr, info);
> +        return -1;
> +    }
> +    if (info->endian == BFD_ENDIAN_BIG) {
> +        insn32 = bfd_getb32(buffer);
> +    } else {
> +        insn32 = bfd_getl32(buffer);
> +    }
> +
> +    status = decoder->decode32(info, insn32);
> +
> +    delete decoder;
> +
> +    return status == 0 ? -1 : 4;
> +}



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] disas: mips: Add Loongson 2F disassembler
  2020-07-03  7:59   ` Thomas Huth
@ 2020-07-03  9:49     ` Stefan Brankovic
  2020-07-03 10:09       ` Thomas Huth
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Brankovic @ 2020-07-03  9:49 UTC (permalink / raw)
  To: Thomas Huth, Stefan Brankovic, qemu-devel
  Cc: chenhc, aleksandar.qemu.devel, aleksandar.rikalo,
	Markus Armbruster, Richard Henderson

[-- Attachment #1: Type: text/plain, Size: 4505 bytes --]


On 3.7.20. 09:59, Thomas Huth wrote:
> On 02/07/2020 21.42, Stefan Brankovic wrote:
>> Add disassembler for Loongson 2F instruction set.
>>
>> Testing is done by comparing qemu disassembly output, obtained by
>> using -d in_asm command line option, with appropriate objdump output.
>>
>> Signed-off-by: Stefan Brankovic <stefan.brankovic@syrmia.com>
>> ---
>>   MAINTAINERS             |    1 +
>>   configure               |    1 +
>>   disas/Makefile.objs     |    1 +
>>   disas/loongson2f.cpp    | 8134 +++++++++++++++++++++++++++++++++++++++
>>   disas/loongson2f.h      | 2542 ++++++++++++
>>   include/disas/dis-asm.h |    1 +
>>   include/exec/poison.h   |    1 +
>>   target/mips/cpu.c       |    4 +
>>   8 files changed, 10685 insertions(+)
>>   create mode 100644 disas/loongson2f.cpp
>>   create mode 100644 disas/loongson2f.h
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 3abe3faa4e..913ed2a6d3 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -219,6 +219,7 @@ S: Maintained
>>   F: target/mips/
>>   F: default-configs/*mips*
>>   F: disas/*mips*
>> +F: disas/loongson*
>>   F: docs/system/cpu-models-mips.rst.inc
>>   F: hw/intc/mips_gic.c
>>   F: hw/mips/
>> diff --git a/configure b/configure
>> index 597e909b53..e163dac53e 100755
>> --- a/configure
>> +++ b/configure
>> @@ -8102,6 +8102,7 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
>>       disas_config "MIPS"
>>       if test -n "${cxx}"; then
>>         disas_config "NANOMIPS"
>> +      disas_config "LOONGSON2F"
>>       fi
>>     ;;
>>     moxie*)
>> diff --git a/disas/Makefile.objs b/disas/Makefile.objs
>> index 3c1cdce026..0d5ee1e038 100644
>> --- a/disas/Makefile.objs
>> +++ b/disas/Makefile.objs
>> @@ -14,6 +14,7 @@ common-obj-$(CONFIG_I386_DIS) += i386.o
>>   common-obj-$(CONFIG_M68K_DIS) += m68k.o
>>   common-obj-$(CONFIG_MICROBLAZE_DIS) += microblaze.o
>>   common-obj-$(CONFIG_MIPS_DIS) += mips.o
>> +common-obj-$(CONFIG_LOONGSON2F_DIS) += loongson2f.o
>>   common-obj-$(CONFIG_NANOMIPS_DIS) += nanomips.o
>>   common-obj-$(CONFIG_NIOS2_DIS) += nios2.o
>>   common-obj-$(CONFIG_MOXIE_DIS) += moxie.o
>> diff --git a/disas/loongson2f.cpp b/disas/loongson2f.cpp
>> new file mode 100644
>> index 0000000000..a2f32dcf93
>> --- /dev/null
>> +++ b/disas/loongson2f.cpp
>> @@ -0,0 +1,8134 @@
>
> This file (and the header) lack a proper header comment. Which license 
> do you want to use for this code? Who wrote the initial implementation?
I will add proper license comments in v2. I will use GPL2+ license.
Thanks for reminding. This is the initial implementation, and I am the
author.
>
> Also, unless you've copied the code from another project that uses 
> C++, why did you use C++ here?
This is disassembler is written as a generic disassembler that can be
integrated into other projects. In this case, it is integrated into
QEMU. One of initial key requirements was that it uses C++ as its
language.
> QEMU is C by default, we only allow C++ for some files that have been 
> taken from other C++ projects and need to be kept in sync from time to 
> time. So if you wrote this code from scratch, please use C instead.
There is no need for updating this disassembler, it is a complete
solution - with exceptions of possible bugs. However, I did extensive
testing, using objdump disassembly as a reference. Switching to C is
certainly possible, however it would be time-consuming, and at this
moment I simply don't have enough resources to do this.

Kind Regards,
Stefan
>
>
>  Thanks,
>   Thomas
>
>
>> +extern "C" {
>> +#include "qemu/osdep.h"
>> +#include "qemu/bitops.h"
>> +#include "disas/dis-asm.h"
>> +}
>> +
>> +#include "loongson2f.h"
>> +
>> +int print_insn_loongson2f(bfd_vma addr, disassemble_info *info)
>> +{
>> +    bfd_byte buffer[4];
>> +    uint32_t insn32;
>> +    int status;
>> +    Decoder *decoder = new Decoder();
>> +
>> +    status = info->read_memory_func(addr, buffer, 4, info);
>> +    if (status != 0) {
>> +        info->memory_error_func(status, addr, info);
>> +        return -1;
>> +    }
>> +    if (info->endian == BFD_ENDIAN_BIG) {
>> +        insn32 = bfd_getb32(buffer);
>> +    } else {
>> +        insn32 = bfd_getl32(buffer);
>> +    }
>> +
>> +    status = decoder->decode32(info, insn32);
>> +
>> +    delete decoder;
>> +
>> +    return status == 0 ? -1 : 4;
>> +}
>

[-- Attachment #2: Type: text/html, Size: 8893 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] disas: mips: Add Loongson 2F disassembler
  2020-07-03  9:49     ` Stefan Brankovic
@ 2020-07-03 10:09       ` Thomas Huth
  2020-07-03 10:41         ` Stefan Brankovic
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Huth @ 2020-07-03 10:09 UTC (permalink / raw)
  To: Stefan Brankovic, Stefan Brankovic, qemu-devel
  Cc: chenhc, aleksandar.qemu.devel, aleksandar.rikalo,
	Markus Armbruster, Richard Henderson

On 03/07/2020 11.49, Stefan Brankovic wrote:
> 
> On 3.7.20. 09:59, Thomas Huth wrote:
>> On 02/07/2020 21.42, Stefan Brankovic wrote:
>>> Add disassembler for Loongson 2F instruction set.
>>>
>>> Testing is done by comparing qemu disassembly output, obtained by
>>> using -d in_asm command line option, with appropriate objdump output.
>>>
>>> Signed-off-by: Stefan Brankovic <stefan.brankovic@syrmia.com>
>>> ---
>>>   MAINTAINERS             |    1 +
>>>   configure               |    1 +
>>>   disas/Makefile.objs     |    1 +
>>>   disas/loongson2f.cpp    | 8134 +++++++++++++++++++++++++++++++++++++++
>>>   disas/loongson2f.h      | 2542 ++++++++++++
>>>   include/disas/dis-asm.h |    1 +
>>>   include/exec/poison.h   |    1 +
>>>   target/mips/cpu.c       |    4 +
>>>   8 files changed, 10685 insertions(+)
>>>   create mode 100644 disas/loongson2f.cpp
>>>   create mode 100644 disas/loongson2f.h
>>>
>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>> index 3abe3faa4e..913ed2a6d3 100644
>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -219,6 +219,7 @@ S: Maintained
>>>   F: target/mips/
>>>   F: default-configs/*mips*
>>>   F: disas/*mips*
>>> +F: disas/loongson*
>>>   F: docs/system/cpu-models-mips.rst.inc
>>>   F: hw/intc/mips_gic.c
>>>   F: hw/mips/
>>> diff --git a/configure b/configure
>>> index 597e909b53..e163dac53e 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -8102,6 +8102,7 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
>>>       disas_config "MIPS"
>>>       if test -n "${cxx}"; then
>>>         disas_config "NANOMIPS"
>>> +      disas_config "LOONGSON2F"
>>>       fi
>>>     ;;
>>>     moxie*)
>>> diff --git a/disas/Makefile.objs b/disas/Makefile.objs
>>> index 3c1cdce026..0d5ee1e038 100644
>>> --- a/disas/Makefile.objs
>>> +++ b/disas/Makefile.objs
>>> @@ -14,6 +14,7 @@ common-obj-$(CONFIG_I386_DIS) += i386.o
>>>   common-obj-$(CONFIG_M68K_DIS) += m68k.o
>>>   common-obj-$(CONFIG_MICROBLAZE_DIS) += microblaze.o
>>>   common-obj-$(CONFIG_MIPS_DIS) += mips.o
>>> +common-obj-$(CONFIG_LOONGSON2F_DIS) += loongson2f.o
>>>   common-obj-$(CONFIG_NANOMIPS_DIS) += nanomips.o
>>>   common-obj-$(CONFIG_NIOS2_DIS) += nios2.o
>>>   common-obj-$(CONFIG_MOXIE_DIS) += moxie.o
>>> diff --git a/disas/loongson2f.cpp b/disas/loongson2f.cpp
>>> new file mode 100644
>>> index 0000000000..a2f32dcf93
>>> --- /dev/null
>>> +++ b/disas/loongson2f.cpp
>>> @@ -0,0 +1,8134 @@
>>
>> This file (and the header) lack a proper header comment. Which license
>> do you want to use for this code? Who wrote the initial implementation?
> I will add proper license comments in v2. I will use GPL2+ license.
> Thanks for reminding. This is the initial implementation, and I am the
> author.
>>
>> Also, unless you've copied the code from another project that uses
>> C++, why did you use C++ here?
> This is disassembler is written as a generic disassembler that can be
> integrated into other projects. In this case, it is integrated into
> QEMU. One of initial key requirements was that it uses C++ as its
> language.

Ok, fair, but please mention that rationale in the commit description
when you send v2.

 Thanks,
  Thomas



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] disas: mips: Add Loongson 2F disassembler
  2020-07-03 10:09       ` Thomas Huth
@ 2020-07-03 10:41         ` Stefan Brankovic
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Brankovic @ 2020-07-03 10:41 UTC (permalink / raw)
  To: Thomas Huth, Stefan Brankovic, qemu-devel
  Cc: chenhc, aleksandar.qemu.devel, aleksandar.rikalo,
	Markus Armbruster, Richard Henderson


On 3.7.20. 12:09, Thomas Huth wrote:
> On 03/07/2020 11.49, Stefan Brankovic wrote:
>> On 3.7.20. 09:59, Thomas Huth wrote:
>>> On 02/07/2020 21.42, Stefan Brankovic wrote:
>>>> Add disassembler for Loongson 2F instruction set.
>>>>
>>>> Testing is done by comparing qemu disassembly output, obtained by
>>>> using -d in_asm command line option, with appropriate objdump output.
>>>>
>>>> Signed-off-by: Stefan Brankovic <stefan.brankovic@syrmia.com>
>>>> ---
>>>>    MAINTAINERS             |    1 +
>>>>    configure               |    1 +
>>>>    disas/Makefile.objs     |    1 +
>>>>    disas/loongson2f.cpp    | 8134 +++++++++++++++++++++++++++++++++++++++
>>>>    disas/loongson2f.h      | 2542 ++++++++++++
>>>>    include/disas/dis-asm.h |    1 +
>>>>    include/exec/poison.h   |    1 +
>>>>    target/mips/cpu.c       |    4 +
>>>>    8 files changed, 10685 insertions(+)
>>>>    create mode 100644 disas/loongson2f.cpp
>>>>    create mode 100644 disas/loongson2f.h
>>>>
>>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>>> index 3abe3faa4e..913ed2a6d3 100644
>>>> --- a/MAINTAINERS
>>>> +++ b/MAINTAINERS
>>>> @@ -219,6 +219,7 @@ S: Maintained
>>>>    F: target/mips/
>>>>    F: default-configs/*mips*
>>>>    F: disas/*mips*
>>>> +F: disas/loongson*
>>>>    F: docs/system/cpu-models-mips.rst.inc
>>>>    F: hw/intc/mips_gic.c
>>>>    F: hw/mips/
>>>> diff --git a/configure b/configure
>>>> index 597e909b53..e163dac53e 100755
>>>> --- a/configure
>>>> +++ b/configure
>>>> @@ -8102,6 +8102,7 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
>>>>        disas_config "MIPS"
>>>>        if test -n "${cxx}"; then
>>>>          disas_config "NANOMIPS"
>>>> +      disas_config "LOONGSON2F"
>>>>        fi
>>>>      ;;
>>>>      moxie*)
>>>> diff --git a/disas/Makefile.objs b/disas/Makefile.objs
>>>> index 3c1cdce026..0d5ee1e038 100644
>>>> --- a/disas/Makefile.objs
>>>> +++ b/disas/Makefile.objs
>>>> @@ -14,6 +14,7 @@ common-obj-$(CONFIG_I386_DIS) += i386.o
>>>>    common-obj-$(CONFIG_M68K_DIS) += m68k.o
>>>>    common-obj-$(CONFIG_MICROBLAZE_DIS) += microblaze.o
>>>>    common-obj-$(CONFIG_MIPS_DIS) += mips.o
>>>> +common-obj-$(CONFIG_LOONGSON2F_DIS) += loongson2f.o
>>>>    common-obj-$(CONFIG_NANOMIPS_DIS) += nanomips.o
>>>>    common-obj-$(CONFIG_NIOS2_DIS) += nios2.o
>>>>    common-obj-$(CONFIG_MOXIE_DIS) += moxie.o
>>>> diff --git a/disas/loongson2f.cpp b/disas/loongson2f.cpp
>>>> new file mode 100644
>>>> index 0000000000..a2f32dcf93
>>>> --- /dev/null
>>>> +++ b/disas/loongson2f.cpp
>>>> @@ -0,0 +1,8134 @@
>>> This file (and the header) lack a proper header comment. Which license
>>> do you want to use for this code? Who wrote the initial implementation?
>> I will add proper license comments in v2. I will use GPL2+ license.
>> Thanks for reminding. This is the initial implementation, and I am the
>> author.
>>> Also, unless you've copied the code from another project that uses
>>> C++, why did you use C++ here?
>> This is disassembler is written as a generic disassembler that can be
>> integrated into other projects. In this case, it is integrated into
>> QEMU. One of initial key requirements was that it uses C++ as its
>> language.
> Ok, fair, but please mention that rationale in the commit description
> when you send v2.

I will mention it in commit description. Thanks for your suggestions.


Kind Regard,

Stefan

>
>   Thanks,
>    Thomas
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-07-03 10:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-02 19:42 [PATCH 0/1] Add Loongson 2F disassembler Stefan Brankovic
2020-07-02 19:42 ` [PATCH 1/1] disas: mips: " Stefan Brankovic
2020-07-03  7:59   ` Thomas Huth
2020-07-03  9:49     ` Stefan Brankovic
2020-07-03 10:09       ` Thomas Huth
2020-07-03 10:41         ` Stefan Brankovic
2020-07-02 20:48 ` [PATCH 0/1] " no-reply

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.