From 9388cc931796983d2f4896ef6caaa85b52f30454 Mon Sep 17 00:00:00 2001 From: devans Date: Sat, 24 Oct 2009 09:45:54 +0000 Subject: [PATCH] * cgen-cpu.h: Update for new location of cgen/bitset.h. * tracedis.h: Ditto. Plus update generated files to pick up two cgen changes: 1) * desc-cpu.scm (/gen-hash-defines): Remove #include of cgen-bitset.h. * sid-cpu.scm (cgen-desc.h): Update location of cgen's bitset.h. 2) * utils-sim.scm (/gen-set-itype-and-extract): New function. (/gen-bracketed-set-itype-and-extract): New function. (/gen-decode-default-entry): Rewrite. (/table-guts-to-mask, /all-opcode-bits-used?): New functions. (/gen-decode-insn-entry): New arg table-guts-thus-far, all callers updated. Don't unnecessarily emit check for whether all opcode bits have been examined. (/gen-decode-expr-set-itype): Delete. (/gen-decode-expr-entry): Update. (/gen-decode-table-entry): New arg table-guts-thus-far, all callers updated. Keep track of decoder tables used thus far. (/gen-decoder-switch): Ditto. --- sid/component/cgen-cpu/ChangeLog | 5 + sid/component/cgen-cpu/arm7t/ChangeLog | 6 + sid/component/cgen-cpu/arm7t/arm-cpu.h | 64 +- sid/component/cgen-cpu/arm7t/arm-decode.cxx | 917 ++-- sid/component/cgen-cpu/arm7t/arm-decode.h | 2 +- sid/component/cgen-cpu/arm7t/arm-desc.h | 8 +- sid/component/cgen-cpu/arm7t/arm-sem.cxx | 2477 +++++----- sid/component/cgen-cpu/arm7t/arm-semsw.cxx | 5021 ++++---------------- sid/component/cgen-cpu/arm7t/thumb-decode.cxx | 536 ++- sid/component/cgen-cpu/arm7t/thumb-decode.h | 2 +- sid/component/cgen-cpu/arm7t/thumb-sem.cxx | 571 ++- sid/component/cgen-cpu/arm7t/thumb-semsw.cxx | 1372 ++---- sid/component/cgen-cpu/cgen-cpu.h | 2 +- sid/component/cgen-cpu/m32r/ChangeLog | 5 + sid/component/cgen-cpu/m32r/m32r-cpu.h | 2 +- sid/component/cgen-cpu/m32r/m32r-decode.cxx | 329 +- sid/component/cgen-cpu/m32r/m32r-decode.h | 2 +- sid/component/cgen-cpu/m32r/m32r-defs.h | 2 +- sid/component/cgen-cpu/m32r/m32r-desc.h | 4 +- sid/component/cgen-cpu/m32r/m32r-sem.cxx | 12 +- sid/component/cgen-cpu/mep/ChangeLog | 6 + sid/component/cgen-cpu/mep/mep-cop1-16-decode.cxx | 108 +- sid/component/cgen-cpu/mep/mep-cop1-16-sem.cxx | 18 + sid/component/cgen-cpu/mep/mep-cop1-32-decode.cxx | 124 +- sid/component/cgen-cpu/mep/mep-cop1-32-sem.cxx | 18 + sid/component/cgen-cpu/mep/mep-cop1-48-decode.cxx | 16 +- sid/component/cgen-cpu/mep/mep-cop1-64-decode.cxx | 124 +- sid/component/cgen-cpu/mep/mep-cop1-64-sem.cxx | 18 + sid/component/cgen-cpu/mep/mep-core1-decode.cxx | 859 +--- sid/component/cgen-cpu/mep/mep-core1-sem.cxx | 2 +- sid/component/cgen-cpu/mep/mep-decode.cxx | 859 +--- sid/component/cgen-cpu/mep/mep-desc.h | 2 +- sid/component/cgen-cpu/mep/mep-sem.cxx | 2 +- sid/component/cgen-cpu/mt/ChangeLog | 5 + sid/component/cgen-cpu/mt/mt-cpu.h | 2 +- sid/component/cgen-cpu/mt/mt-decode.cxx | 300 +- sid/component/cgen-cpu/mt/mt-decode.h | 2 +- sid/component/cgen-cpu/mt/mt-defs.h | 2 +- sid/component/cgen-cpu/mt/mt-desc.h | 4 +- sid/component/cgen-cpu/mt/mt-sem.cxx | 6 +- sid/component/cgen-cpu/mt/mt-write.cxx | 2 +- sid/component/cgen-cpu/sh/ChangeLog | 16 + sid/component/cgen-cpu/sh/sh-desc.h | 4 +- sid/component/cgen-cpu/sh/sh2-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh2-decode.cxx | 350 +- sid/component/cgen-cpu/sh/sh2-decode.h | 2 +- sid/component/cgen-cpu/sh/sh2-defs.h | 2 +- sid/component/cgen-cpu/sh/sh2-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh2-model.h | 2 +- sid/component/cgen-cpu/sh/sh2-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh2-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh2a-fpu-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh2a-fpu-decode.cxx | 455 +- sid/component/cgen-cpu/sh/sh2a-fpu-decode.h | 2 +- sid/component/cgen-cpu/sh/sh2a-fpu-defs.h | 2 +- sid/component/cgen-cpu/sh/sh2a-fpu-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh2a-fpu-model.h | 2 +- sid/component/cgen-cpu/sh/sh2a-fpu-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh2a-fpu-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh2a-nofpu-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh2a-nofpu-decode.cxx | 359 +- sid/component/cgen-cpu/sh/sh2a-nofpu-decode.h | 2 +- sid/component/cgen-cpu/sh/sh2a-nofpu-defs.h | 2 +- sid/component/cgen-cpu/sh/sh2a-nofpu-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh2a-nofpu-model.h | 2 +- sid/component/cgen-cpu/sh/sh2a-nofpu-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh2a-nofpu-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh2e-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh2e-decode.cxx | 422 +- sid/component/cgen-cpu/sh/sh2e-decode.h | 2 +- sid/component/cgen-cpu/sh/sh2e-defs.h | 2 +- sid/component/cgen-cpu/sh/sh2e-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh2e-model.h | 2 +- sid/component/cgen-cpu/sh/sh2e-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh2e-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh3-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh3-decode.cxx | 358 +- sid/component/cgen-cpu/sh/sh3-decode.h | 2 +- sid/component/cgen-cpu/sh/sh3-defs.h | 2 +- sid/component/cgen-cpu/sh/sh3-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh3-model.h | 2 +- sid/component/cgen-cpu/sh/sh3-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh3-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh3e-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh3e-decode.cxx | 438 +- sid/component/cgen-cpu/sh/sh3e-decode.h | 2 +- sid/component/cgen-cpu/sh/sh3e-defs.h | 2 +- sid/component/cgen-cpu/sh/sh3e-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh3e-model.h | 2 +- sid/component/cgen-cpu/sh/sh3e-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh3e-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh4-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh4-decode.cxx | 483 +- sid/component/cgen-cpu/sh/sh4-decode.h | 2 +- sid/component/cgen-cpu/sh/sh4-defs.h | 2 +- sid/component/cgen-cpu/sh/sh4-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh4-model.h | 2 +- sid/component/cgen-cpu/sh/sh4-nofpu-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh4-nofpu-decode.cxx | 371 +- sid/component/cgen-cpu/sh/sh4-nofpu-decode.h | 2 +- sid/component/cgen-cpu/sh/sh4-nofpu-defs.h | 2 +- sid/component/cgen-cpu/sh/sh4-nofpu-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh4-nofpu-model.h | 2 +- sid/component/cgen-cpu/sh/sh4-nofpu-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh4-nofpu-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh4-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh4-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh4a-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh4a-decode.cxx | 462 +- sid/component/cgen-cpu/sh/sh4a-decode.h | 2 +- sid/component/cgen-cpu/sh/sh4a-defs.h | 2 +- sid/component/cgen-cpu/sh/sh4a-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh4a-model.h | 2 +- sid/component/cgen-cpu/sh/sh4a-nofpu-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh4a-nofpu-decode.cxx | 374 +- sid/component/cgen-cpu/sh/sh4a-nofpu-decode.h | 2 +- sid/component/cgen-cpu/sh/sh4a-nofpu-defs.h | 2 +- sid/component/cgen-cpu/sh/sh4a-nofpu-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh4a-nofpu-model.h | 2 +- sid/component/cgen-cpu/sh/sh4a-nofpu-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh4a-nofpu-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh4a-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh4a-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh4al-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh4al-decode.cxx | 374 +- sid/component/cgen-cpu/sh/sh4al-decode.h | 2 +- sid/component/cgen-cpu/sh/sh4al-defs.h | 2 +- sid/component/cgen-cpu/sh/sh4al-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh4al-model.h | 2 +- sid/component/cgen-cpu/sh/sh4al-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh4al-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh5-compact-decode.cxx | 491 +- sid/component/cgen-cpu/sh/sh5-compact-decode.h | 2 +- sid/component/cgen-cpu/sh/sh5-compact-defs.h | 2 +- sid/component/cgen-cpu/sh/sh5-compact-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh5-compact-model.h | 2 +- sid/component/cgen-cpu/sh/sh5-compact-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh5-compact-write.cxx | 2 +- sid/component/cgen-cpu/sh/sh5-cpu.h | 4 +- sid/component/cgen-cpu/sh/sh5-media-decode.cxx | 85 +- sid/component/cgen-cpu/sh/sh5-media-decode.h | 2 +- sid/component/cgen-cpu/sh/sh5-media-defs.h | 2 +- sid/component/cgen-cpu/sh/sh5-media-model.cxx | 2 +- sid/component/cgen-cpu/sh/sh5-media-model.h | 2 +- sid/component/cgen-cpu/sh/sh5-media-sem.cxx | 2 +- sid/component/cgen-cpu/sh/sh5-media-write.cxx | 2 +- sid/component/cgen-cpu/tracedis.h | 2 +- sid/component/cgen-cpu/xstormy16/ChangeLog | 5 + sid/component/cgen-cpu/xstormy16/xstormy16-cpu.h | 2 +- .../cgen-cpu/xstormy16/xstormy16-decode.cxx | 676 +-- .../cgen-cpu/xstormy16/xstormy16-decode.h | 2 +- sid/component/cgen-cpu/xstormy16/xstormy16-defs.h | 2 +- sid/component/cgen-cpu/xstormy16/xstormy16-desc.h | 4 +- sid/component/cgen-cpu/xstormy16/xstormy16-sem.cxx | 26 +- 154 files changed, 6159 insertions(+), 13624 deletions(-) diff --git a/sid/component/cgen-cpu/ChangeLog b/sid/component/cgen-cpu/ChangeLog index 3d441e11d6..babf6692c9 100644 --- a/sid/component/cgen-cpu/ChangeLog +++ b/sid/component/cgen-cpu/ChangeLog @@ -1,3 +1,8 @@ +2009-10-23 Doug Evans + + * cgen-cpu.h: Update for new location of cgen/bitset.h. + * tracedis.h: Ditto. + 2009-02-03 DJ Delorie * compCGEN.cxx: Update to new MeP configuration. diff --git a/sid/component/cgen-cpu/arm7t/ChangeLog b/sid/component/cgen-cpu/arm7t/ChangeLog index 8c33941e98..b6b34e3eaf 100644 --- a/sid/component/cgen-cpu/arm7t/ChangeLog +++ b/sid/component/cgen-cpu/arm7t/ChangeLog @@ -1,3 +1,9 @@ +2009-10-23 Doug Evans + + * arm-desc.h: Regenerate. + * arm-decode.cxx: Regenerate. + * thumb-decode.cxx: Regenerate. + 2006-06-26 Dave Brolley * arm7f.h (get_pc): New member of arm7f_cpu. diff --git a/sid/component/cgen-cpu/arm7t/arm-cpu.h b/sid/component/cgen-cpu/arm7t/arm-cpu.h index 5f0eb7fc22..f8469d913b 100644 --- a/sid/component/cgen-cpu/arm7t/arm-cpu.h +++ b/sid/component/cgen-cpu/arm7t/arm-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -61,6 +61,68 @@ public: SI h_spsr_und; } hardware; + void stream_cgen_hardware (std::ostream &ost) const + { + ost << hardware.h_pc << ' '; + for (int i = 0; i < 16; i++) + ost << hardware.h_gr[i] << ' '; + for (int i = 0; i < 7; i++) + ost << hardware.h_gr_usr[i] << ' '; + for (int i = 0; i < 7; i++) + ost << hardware.h_gr_fiq[i] << ' '; + for (int i = 0; i < 2; i++) + ost << hardware.h_gr_svc[i] << ' '; + for (int i = 0; i < 2; i++) + ost << hardware.h_gr_abt[i] << ' '; + for (int i = 0; i < 2; i++) + ost << hardware.h_gr_irq[i] << ' '; + for (int i = 0; i < 2; i++) + ost << hardware.h_gr_und[i] << ' '; + ost << hardware.h_cbit << ' '; + ost << hardware.h_nbit << ' '; + ost << hardware.h_vbit << ' '; + ost << hardware.h_zbit << ' '; + ost << hardware.h_ibit << ' '; + ost << hardware.h_fbit << ' '; + ost << hardware.h_tbit << ' '; + ost << hardware.h_mbits << ' '; + ost << hardware.h_spsr_fiq << ' '; + ost << hardware.h_spsr_svc << ' '; + ost << hardware.h_spsr_abt << ' '; + ost << hardware.h_spsr_irq << ' '; + ost << hardware.h_spsr_und << ' '; + } + void destream_cgen_hardware (std::istream &ist) + { + ist >> hardware.h_pc; + for (int i = 0; i < 16; i++) + ist >> hardware.h_gr[i]; + for (int i = 0; i < 7; i++) + ist >> hardware.h_gr_usr[i]; + for (int i = 0; i < 7; i++) + ist >> hardware.h_gr_fiq[i]; + for (int i = 0; i < 2; i++) + ist >> hardware.h_gr_svc[i]; + for (int i = 0; i < 2; i++) + ist >> hardware.h_gr_abt[i]; + for (int i = 0; i < 2; i++) + ist >> hardware.h_gr_irq[i]; + for (int i = 0; i < 2; i++) + ist >> hardware.h_gr_und[i]; + ist >> hardware.h_cbit; + ist >> hardware.h_nbit; + ist >> hardware.h_vbit; + ist >> hardware.h_zbit; + ist >> hardware.h_ibit; + ist >> hardware.h_fbit; + ist >> hardware.h_tbit; + ist >> hardware.h_mbits; + ist >> hardware.h_spsr_fiq; + ist >> hardware.h_spsr_svc; + ist >> hardware.h_spsr_abt; + ist >> hardware.h_spsr_irq; + ist >> hardware.h_spsr_und; + } // C++ register access function templates #define current_cpu this diff --git a/sid/component/cgen-cpu/arm7t/arm-decode.cxx b/sid/component/cgen-cpu/arm7t/arm-decode.cxx index 627df87f79..20fa2d8654 100644 --- a/sid/component/cgen-cpu/arm7t/arm-decode.cxx +++ b/sid/component/cgen-cpu/arm7t/arm-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -27,221 +27,221 @@ bool arm_idesc::idesc_table_initialized_p = false; arm_idesc arm_idesc::idesc_table[ARM_INSN_MSR_S + 1] = { - { 0, 0, "X_COND", ARM_INSN_X_COND, { 0|(1<> 16) & (1 << 4)) | ((insn >> 4) & (15 << 0))); switch (val) { - case 0 : itype = ARM_INSN_MRS_C; arm_extract_sfmt_mrs_c (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 9 : itype = ARM_INSN_SWP; arm_extract_sfmt_swp (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 11 : itype = ARM_INSN_STRH_PRE_DEC_REG_OFFSET; arm_extract_sfmt_strh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xfff0fff) == 0x10f0000) + { itype = ARM_INSN_MRS_C; arm_extract_sfmt_mrs_c (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 9 : + if ((entire_insn & 0xff00ff0) == 0x1000090) + { itype = ARM_INSN_SWP; arm_extract_sfmt_swp (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 11 : + if ((entire_insn & 0xff00ff0) == 0x10000b0) + { itype = ARM_INSN_STRH_PRE_DEC_REG_OFFSET; arm_extract_sfmt_strh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 18 : /* fall through */ case 20 : /* fall through */ @@ -635,10 +680,19 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, case 19 : /* fall through */ case 21 : /* fall through */ case 23 : itype = ARM_INSN_TST_REG_REG_SHIFT; arm_extract_sfmt_tst_reg_reg_shift (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 27 : itype = ARM_INSN_LDRH_PRE_DEC_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 29 : itype = ARM_INSN_LDRSB_PRE_DEC_REG_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 31 : itype = ARM_INSN_LDRSH_PRE_DEC_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 27 : + if ((entire_insn & 0xff00ff0) == 0x11000b0) + { itype = ARM_INSN_LDRH_PRE_DEC_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 29 : + if ((entire_insn & 0xff00ff0) == 0x11000d0) + { itype = ARM_INSN_LDRSB_PRE_DEC_REG_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 31 : + if ((entire_insn & 0xff00ff0) == 0x11000f0) + { itype = ARM_INSN_LDRSH_PRE_DEC_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 9 : @@ -646,9 +700,18 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 14) & (1 << 6)) | ((insn >> 4) & (63 << 0))); switch (val) { - case 0 : itype = ARM_INSN_MSR_C; arm_extract_sfmt_msr_c (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 11 : itype = ARM_INSN_STRH_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_strh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 49 : itype = ARM_INSN_BX; arm_extract_sfmt_bx (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xffffff0) == 0x129f000) + { itype = ARM_INSN_MSR_C; arm_extract_sfmt_msr_c (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 11 : + if ((entire_insn & 0xff00ff0) == 0x12000b0) + { itype = ARM_INSN_STRH_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_strh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 49 : + if ((entire_insn & 0xffffff0) == 0x12fff10) + { itype = ARM_INSN_BX; arm_extract_sfmt_bx (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 64 : /* fall through */ case 66 : /* fall through */ case 68 : /* fall through */ @@ -697,10 +760,19 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, case 115 : /* fall through */ case 117 : /* fall through */ case 119 : itype = ARM_INSN_TEQ_REG_REG_SHIFT; arm_extract_sfmt_tst_reg_reg_shift (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 75 : itype = ARM_INSN_LDRH_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 77 : itype = ARM_INSN_LDRSB_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 79 : itype = ARM_INSN_LDRSH_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 75 : + if ((entire_insn & 0xff00ff0) == 0x13000b0) + { itype = ARM_INSN_LDRH_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 77 : + if ((entire_insn & 0xff00ff0) == 0x13000d0) + { itype = ARM_INSN_LDRSB_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 79 : + if ((entire_insn & 0xff00ff0) == 0x13000f0) + { itype = ARM_INSN_LDRSH_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 10 : @@ -708,8 +780,14 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 16) & (1 << 4)) | ((insn >> 4) & (15 << 0))); switch (val) { - case 0 : itype = ARM_INSN_MRS_S; arm_extract_sfmt_mrs_s (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 9 : itype = ARM_INSN_SWPB; arm_extract_sfmt_swpb (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xfff0fff) == 0x14f0000) + { itype = ARM_INSN_MRS_S; arm_extract_sfmt_mrs_s (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 9 : + if ((entire_insn & 0xff00ff0) == 0x1400090) + { itype = ARM_INSN_SWPB; arm_extract_sfmt_swpb (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : itype = ARM_INSN_STRH_PRE_DEC_IMM_OFFSET; arm_extract_sfmt_strh_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 18 : /* fall through */ @@ -726,7 +804,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, case 27 : itype = ARM_INSN_LDRH_PRE_DEC_IMM_OFFSET; arm_extract_sfmt_ldrh_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 29 : itype = ARM_INSN_LDRSB_PRE_DEC_IMM_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 31 : itype = ARM_INSN_LDRSH_PRE_DEC_IMM_OFFSET; arm_extract_sfmt_ldrh_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 11 : @@ -734,7 +812,10 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 16) & (1 << 4)) | ((insn >> 4) & (15 << 0))); switch (val) { - case 0 : itype = ARM_INSN_MSR_S; arm_extract_sfmt_msr_s (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xffffff0) == 0x169f000) + { itype = ARM_INSN_MSR_S; arm_extract_sfmt_msr_s (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : itype = ARM_INSN_STRH_PRE_DEC_WB_IMM_OFFSET; arm_extract_sfmt_strh_pre_dec_wb_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 18 : /* fall through */ @@ -751,7 +832,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, case 27 : itype = ARM_INSN_LDRH_PRE_DEC_WB_IMM_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 29 : itype = ARM_INSN_LDRSB_PRE_DEC_WB_IMM_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_wb_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 31 : itype = ARM_INSN_LDRSH_PRE_DEC_WB_IMM_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 12 : @@ -783,11 +864,23 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, case 19 : /* fall through */ case 21 : /* fall through */ case 23 : itype = ARM_INSN_ORR_REG_REG_SHIFT; arm_extract_sfmt_and_reg_reg_shift (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 11 : itype = ARM_INSN_STRH_PRE_INC_REG_OFFSET; arm_extract_sfmt_strh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 27 : itype = ARM_INSN_LDRH_PRE_INC_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 29 : itype = ARM_INSN_LDRSB_PRE_INC_REG_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 31 : itype = ARM_INSN_LDRSH_PRE_INC_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 11 : + if ((entire_insn & 0xff00ff0) == 0x18000b0) + { itype = ARM_INSN_STRH_PRE_INC_REG_OFFSET; arm_extract_sfmt_strh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 27 : + if ((entire_insn & 0xff00ff0) == 0x19000b0) + { itype = ARM_INSN_LDRH_PRE_INC_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 29 : + if ((entire_insn & 0xff00ff0) == 0x19000d0) + { itype = ARM_INSN_LDRSB_PRE_INC_REG_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 31 : + if ((entire_insn & 0xff00ff0) == 0x19000f0) + { itype = ARM_INSN_LDRSH_PRE_INC_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 13 : @@ -819,11 +912,23 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, case 19 : /* fall through */ case 21 : /* fall through */ case 23 : itype = ARM_INSN_MOV_REG_REG_SHIFT; arm_extract_sfmt_mov_reg_reg_shift (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 11 : itype = ARM_INSN_STRH_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_strh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 27 : itype = ARM_INSN_LDRH_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 29 : itype = ARM_INSN_LDRSB_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 31 : itype = ARM_INSN_LDRSH_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 11 : + if ((entire_insn & 0xff00ff0) == 0x1a000b0) + { itype = ARM_INSN_STRH_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_strh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 27 : + if ((entire_insn & 0xff00ff0) == 0x1b000b0) + { itype = ARM_INSN_LDRH_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 29 : + if ((entire_insn & 0xff00ff0) == 0x1b000d0) + { itype = ARM_INSN_LDRSB_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 31 : + if ((entire_insn & 0xff00ff0) == 0x1b000f0) + { itype = ARM_INSN_LDRSH_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 14 : @@ -859,7 +964,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, case 27 : itype = ARM_INSN_LDRH_PRE_INC_IMM_OFFSET; arm_extract_sfmt_ldrh_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 29 : itype = ARM_INSN_LDRSB_PRE_INC_IMM_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 31 : itype = ARM_INSN_LDRSH_PRE_INC_IMM_OFFSET; arm_extract_sfmt_ldrh_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 15 : @@ -895,7 +1000,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, case 27 : itype = ARM_INSN_LDRH_PRE_INC_WB_IMM_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 29 : itype = ARM_INSN_LDRSB_PRE_INC_WB_IMM_OFFSET; arm_extract_sfmt_ldrsb_pre_dec_wb_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 31 : itype = ARM_INSN_LDRSH_PRE_INC_WB_IMM_OFFSET; arm_extract_sfmt_ldrh_pre_dec_wb_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 16 : itype = ARM_INSN_AND_IMM; arm_extract_sfmt_and_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; @@ -906,10 +1011,22 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, case 21 : itype = ARM_INSN_ADC_IMM; arm_extract_sfmt_adc_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 22 : itype = ARM_INSN_SBC_IMM; arm_extract_sfmt_adc_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 23 : itype = ARM_INSN_RSC_IMM; arm_extract_sfmt_adc_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 24 : itype = ARM_INSN_TST_IMM; arm_extract_sfmt_tst_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 25 : itype = ARM_INSN_TEQ_IMM; arm_extract_sfmt_tst_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 26 : itype = ARM_INSN_CMP_IMM; arm_extract_sfmt_cmp_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 27 : itype = ARM_INSN_CMN_IMM; arm_extract_sfmt_cmp_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 24 : + if ((entire_insn & 0xff00000) == 0x3100000) + { itype = ARM_INSN_TST_IMM; arm_extract_sfmt_tst_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 25 : + if ((entire_insn & 0xff00000) == 0x3300000) + { itype = ARM_INSN_TEQ_IMM; arm_extract_sfmt_tst_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 26 : + if ((entire_insn & 0xff00000) == 0x3500000) + { itype = ARM_INSN_CMP_IMM; arm_extract_sfmt_cmp_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 27 : + if ((entire_insn & 0xff00000) == 0x3700000) + { itype = ARM_INSN_CMN_IMM; arm_extract_sfmt_cmp_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 28 : itype = ARM_INSN_ORR_IMM; arm_extract_sfmt_and_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 29 : itype = ARM_INSN_MOV_IMM; arm_extract_sfmt_mov_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 30 : itype = ARM_INSN_BIC_IMM; arm_extract_sfmt_and_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; @@ -921,7 +1038,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STR_POST_DEC_IMM_OFFSET; arm_extract_sfmt_str_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDR_POST_DEC_IMM_OFFSET; arm_extract_sfmt_ldr_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 33 : @@ -931,7 +1048,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STR_POST_DEC_NONPRIV_IMM_OFFSET; arm_extract_sfmt_str_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDR_POST_DEC_NONPRIV_IMM_OFFSET; arm_extract_sfmt_ldr_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 34 : @@ -941,7 +1058,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STRB_POST_DEC_IMM_OFFSET; arm_extract_sfmt_strb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDRB_POST_DEC_IMM_OFFSET; arm_extract_sfmt_ldrb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 35 : @@ -951,7 +1068,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STRB_POST_DEC_NONPRIV_IMM_OFFSET; arm_extract_sfmt_strb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDRB_POST_DEC_NONPRIV_IMM_OFFSET; arm_extract_sfmt_ldrb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 36 : @@ -961,7 +1078,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STR_POST_INC_IMM_OFFSET; arm_extract_sfmt_str_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDR_POST_INC_IMM_OFFSET; arm_extract_sfmt_ldr_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 37 : @@ -971,7 +1088,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STR_POST_INC_NONPRIV_IMM_OFFSET; arm_extract_sfmt_str_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDR_POST_INC_NONPRIV_IMM_OFFSET; arm_extract_sfmt_ldr_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 38 : @@ -981,7 +1098,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STRB_POST_INC_IMM_OFFSET; arm_extract_sfmt_strb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDRB_POST_INC_IMM_OFFSET; arm_extract_sfmt_ldrb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 39 : @@ -991,7 +1108,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STRB_POST_INC_NONPRIV_IMM_OFFSET; arm_extract_sfmt_strb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDRB_POST_INC_NONPRIV_IMM_OFFSET; arm_extract_sfmt_ldrb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 40 : @@ -1001,7 +1118,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STR_PRE_DEC_IMM_OFFSET; arm_extract_sfmt_str_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDR_PRE_DEC_IMM_OFFSET; arm_extract_sfmt_ldr_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 41 : @@ -1011,7 +1128,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STR_PRE_DEC_WB_IMM_OFFSET; arm_extract_sfmt_str_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDR_PRE_DEC_WB_IMM_OFFSET; arm_extract_sfmt_ldr_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 42 : @@ -1021,7 +1138,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STRB_PRE_DEC_IMM_OFFSET; arm_extract_sfmt_strb_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDRB_PRE_DEC_IMM_OFFSET; arm_extract_sfmt_ldrb_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 43 : @@ -1031,7 +1148,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STRB_PRE_DEC_WB_IMM_OFFSET; arm_extract_sfmt_strb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDRB_PRE_DEC_WB_IMM_OFFSET; arm_extract_sfmt_ldrb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 44 : @@ -1041,7 +1158,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STR_PRE_INC_IMM_OFFSET; arm_extract_sfmt_str_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDR_PRE_INC_IMM_OFFSET; arm_extract_sfmt_ldr_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 45 : @@ -1051,7 +1168,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STR_PRE_INC_WB_IMM_OFFSET; arm_extract_sfmt_str_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDR_PRE_INC_WB_IMM_OFFSET; arm_extract_sfmt_ldr_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 46 : @@ -1061,7 +1178,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STRB_PRE_INC_IMM_OFFSET; arm_extract_sfmt_strb_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDRB_PRE_INC_IMM_OFFSET; arm_extract_sfmt_ldrb_pre_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 47 : @@ -1071,7 +1188,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STRB_PRE_INC_WB_IMM_OFFSET; arm_extract_sfmt_strb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDRB_PRE_INC_WB_IMM_OFFSET; arm_extract_sfmt_ldrb_post_dec_imm_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 48 : @@ -1079,9 +1196,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STR_POST_DEC_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDR_POST_DEC_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x6000000) + { itype = ARM_INSN_STR_POST_DEC_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x6100000) + { itype = ARM_INSN_LDR_POST_DEC_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 49 : @@ -1089,9 +1212,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STR_POST_DEC_NONPRIV_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDR_POST_DEC_NONPRIV_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x6200000) + { itype = ARM_INSN_STR_POST_DEC_NONPRIV_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x6300000) + { itype = ARM_INSN_LDR_POST_DEC_NONPRIV_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 50 : @@ -1099,9 +1228,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STRB_POST_DEC_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDRB_POST_DEC_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x6400000) + { itype = ARM_INSN_STRB_POST_DEC_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x6500000) + { itype = ARM_INSN_LDRB_POST_DEC_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 51 : @@ -1109,9 +1244,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STRB_POST_DEC_NONPRIV_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDRB_POST_DEC_NONPRIV_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x6600000) + { itype = ARM_INSN_STRB_POST_DEC_NONPRIV_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x6700000) + { itype = ARM_INSN_LDRB_POST_DEC_NONPRIV_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 52 : @@ -1119,9 +1260,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STR_POST_INC_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDR_POST_INC_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x6800000) + { itype = ARM_INSN_STR_POST_INC_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x6900000) + { itype = ARM_INSN_LDR_POST_INC_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 53 : @@ -1129,9 +1276,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STR_POST_INC_NONPRIV_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDR_POST_INC_NONPRIV_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x6a00000) + { itype = ARM_INSN_STR_POST_INC_NONPRIV_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x6b00000) + { itype = ARM_INSN_LDR_POST_INC_NONPRIV_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 54 : @@ -1139,9 +1292,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STRB_POST_INC_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDRB_POST_INC_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x6c00000) + { itype = ARM_INSN_STRB_POST_INC_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x6d00000) + { itype = ARM_INSN_LDRB_POST_INC_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 55 : @@ -1149,9 +1308,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STRB_POST_INC_NONPRIV_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDRB_POST_INC_NONPRIV_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x6e00000) + { itype = ARM_INSN_STRB_POST_INC_NONPRIV_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x6f00000) + { itype = ARM_INSN_LDRB_POST_INC_NONPRIV_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 56 : @@ -1159,9 +1324,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STR_PRE_DEC_REG_OFFSET; arm_extract_sfmt_str_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDR_PRE_DEC_REG_OFFSET; arm_extract_sfmt_ldr_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x7000000) + { itype = ARM_INSN_STR_PRE_DEC_REG_OFFSET; arm_extract_sfmt_str_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x7100000) + { itype = ARM_INSN_LDR_PRE_DEC_REG_OFFSET; arm_extract_sfmt_ldr_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 57 : @@ -1169,9 +1340,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STR_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDR_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x7200000) + { itype = ARM_INSN_STR_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x7300000) + { itype = ARM_INSN_LDR_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 58 : @@ -1179,9 +1356,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STRB_PRE_DEC_REG_OFFSET; arm_extract_sfmt_strb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDRB_PRE_DEC_REG_OFFSET; arm_extract_sfmt_ldrb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x7400000) + { itype = ARM_INSN_STRB_PRE_DEC_REG_OFFSET; arm_extract_sfmt_strb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x7500000) + { itype = ARM_INSN_LDRB_PRE_DEC_REG_OFFSET; arm_extract_sfmt_ldrb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 59 : @@ -1189,9 +1372,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STRB_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDRB_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x7600000) + { itype = ARM_INSN_STRB_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x7700000) + { itype = ARM_INSN_LDRB_PRE_DEC_WB_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 60 : @@ -1199,9 +1388,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STR_PRE_INC_REG_OFFSET; arm_extract_sfmt_str_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDR_PRE_INC_REG_OFFSET; arm_extract_sfmt_ldr_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x7800000) + { itype = ARM_INSN_STR_PRE_INC_REG_OFFSET; arm_extract_sfmt_str_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x7900000) + { itype = ARM_INSN_LDR_PRE_INC_REG_OFFSET; arm_extract_sfmt_ldr_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 61 : @@ -1209,9 +1404,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STR_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDR_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x7a00000) + { itype = ARM_INSN_STR_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_str_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x7b00000) + { itype = ARM_INSN_LDR_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_ldr_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 62 : @@ -1219,9 +1420,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STRB_PRE_INC_REG_OFFSET; arm_extract_sfmt_strb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDRB_PRE_INC_REG_OFFSET; arm_extract_sfmt_ldrb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x7c00000) + { itype = ARM_INSN_STRB_PRE_INC_REG_OFFSET; arm_extract_sfmt_strb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x7d00000) + { itype = ARM_INSN_LDRB_PRE_INC_REG_OFFSET; arm_extract_sfmt_ldrb_pre_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 63 : @@ -1229,9 +1436,15 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, unsigned int val = (((insn >> 20) & (1 << 0))); switch (val) { - case 0 : itype = ARM_INSN_STRB_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = ARM_INSN_LDRB_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + if ((entire_insn & 0xff00010) == 0x7e00000) + { itype = ARM_INSN_STRB_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_strb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + if ((entire_insn & 0xff00010) == 0x7f00000) + { itype = ARM_INSN_LDRB_PRE_INC_WB_REG_OFFSET; arm_extract_sfmt_ldrb_post_dec_reg_offset (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 64 : @@ -1241,7 +1454,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMDA; arm_extract_sfmt_stmdb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMDA; arm_extract_sfmt_ldmda (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 65 : @@ -1251,7 +1464,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMDA_WB; arm_extract_sfmt_stmdb_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMDA_WB; arm_extract_sfmt_ldmda_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 66 : @@ -1261,7 +1474,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMDA_SW; arm_extract_sfmt_stmdb_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMDA_SW; arm_extract_sfmt_ldmda_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 67 : @@ -1271,7 +1484,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMDA_SW_WB; arm_extract_sfmt_stmdb_sw_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMDA_SW_WB; arm_extract_sfmt_ldmda_sw_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 68 : @@ -1281,7 +1494,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMIA; arm_extract_sfmt_stmdb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMIA; arm_extract_sfmt_ldmda (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 69 : @@ -1291,7 +1504,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMIA_WB; arm_extract_sfmt_stmdb_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMIA_WB; arm_extract_sfmt_ldmda_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 70 : @@ -1301,7 +1514,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMIA_SW; arm_extract_sfmt_stmdb_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMIA_SW; arm_extract_sfmt_ldmda_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 71 : @@ -1311,7 +1524,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMIA_SW_WB; arm_extract_sfmt_stmdb_sw_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMIA_SW_WB; arm_extract_sfmt_ldmda_sw_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 72 : @@ -1321,7 +1534,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMDB; arm_extract_sfmt_stmdb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMDB; arm_extract_sfmt_ldmda (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 73 : @@ -1331,7 +1544,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMDB_WB; arm_extract_sfmt_stmdb_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMDB_WB; arm_extract_sfmt_ldmda_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 74 : @@ -1341,7 +1554,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMDB_SW; arm_extract_sfmt_stmdb_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMDB_SW; arm_extract_sfmt_ldmda_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 75 : @@ -1351,7 +1564,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMDB_SW_WB; arm_extract_sfmt_stmdb_sw_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMDB_SW_WB; arm_extract_sfmt_ldmda_sw_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 76 : @@ -1361,7 +1574,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMIB; arm_extract_sfmt_stmdb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMIB; arm_extract_sfmt_ldmda (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 77 : @@ -1371,7 +1584,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMIB_WB; arm_extract_sfmt_stmdb_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMIB_WB; arm_extract_sfmt_ldmda_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 78 : @@ -1381,7 +1594,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMIB_SW; arm_extract_sfmt_stmdb_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMIB_SW; arm_extract_sfmt_ldmda_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 79 : @@ -1391,7 +1604,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, { case 0 : itype = ARM_INSN_STMIB_SW_WB; arm_extract_sfmt_stmdb_sw_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : itype = ARM_INSN_LDMIB_SW_WB; arm_extract_sfmt_ldmda_sw_wb (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 80 : /* fall through */ @@ -1418,7 +1631,7 @@ arm_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, arm_insn_word base_insn, case 125 : /* fall through */ case 126 : /* fall through */ case 127 : itype = ARM_INSN_SWI; arm_extract_sfmt_swi (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = ARM_INSN_X_INVALID; arm_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } diff --git a/sid/component/cgen-cpu/arm7t/arm-decode.h b/sid/component/cgen-cpu/arm7t/arm-decode.h index ed8ae279df..a3a35a148f 100644 --- a/sid/component/cgen-cpu/arm7t/arm-decode.h +++ b/sid/component/cgen-cpu/arm7t/arm-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/arm7t/arm-desc.h b/sid/component/cgen-cpu/arm7t/arm-desc.h index 934078219e..cf4af259c2 100644 --- a/sid/component/cgen-cpu/arm7t/arm-desc.h +++ b/sid/component/cgen-cpu/arm7t/arm-desc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -12,6 +12,8 @@ This file is part of the Red Hat simulators. #ifndef DESC_ARM_H #define DESC_ARM_H +#include "cgen/bitset.h" + namespace arm { // Enums. @@ -96,10 +98,10 @@ typedef enum isa_attr { struct arm_insn_attr { unsigned int bools; unsigned int mach; - unsigned int isa; + CGEN_BITSET isa; int r15_offset; inline unsigned int get_mach_attr () { return mach; } - inline unsigned int get_isa_attr () { return isa; } + inline CGEN_BITSET get_isa_attr () { return isa; } inline int get_r15_offset_attr () { return r15_offset; } inline int get_alias_attr () { return (bools & (1<branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } current_cpu->done_cti_insn (npc, status); @@ -79,15 +78,15 @@ arm_sem_bl (arm7f_cpu* current_cpu, arm_scache* sem) { { SI opval = ANDSI (ADDSI (pc, 4), -4); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } { USI opval = FLD (i_offset24); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -110,16 +109,16 @@ arm_sem_bx (arm7f_cpu* current_cpu, arm_scache* sem) { { USI opval = ANDSI (* FLD (i_bx_rn), 0xfffffffe); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (ANDSI (* FLD (i_bx_rn), 1)) { { BI opval = 1; - current_cpu->h_tbit_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "tbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_tbit_set (opval); } } } @@ -148,24 +147,24 @@ arm_sem_ldr_post_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -193,24 +192,24 @@ arm_sem_ldr_post_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -238,24 +237,24 @@ arm_sem_ldr_post_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -283,24 +282,24 @@ arm_sem_ldr_post_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -328,24 +327,24 @@ arm_sem_ldr_post_dec_nonpriv_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -373,24 +372,24 @@ arm_sem_ldr_post_dec_nonpriv_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -418,24 +417,24 @@ arm_sem_ldr_post_inc_nonpriv_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -463,24 +462,24 @@ arm_sem_ldr_post_inc_nonpriv_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -508,16 +507,16 @@ arm_sem_ldr_pre_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -548,16 +547,16 @@ arm_sem_ldr_pre_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -588,16 +587,16 @@ arm_sem_ldr_pre_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -628,16 +627,16 @@ arm_sem_ldr_pre_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -668,24 +667,24 @@ arm_sem_ldr_pre_dec_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -713,24 +712,24 @@ arm_sem_ldr_pre_dec_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -758,24 +757,24 @@ arm_sem_ldr_pre_inc_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -803,24 +802,24 @@ arm_sem_ldr_pre_inc_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -848,24 +847,24 @@ arm_sem_ldrb_post_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -893,24 +892,24 @@ arm_sem_ldrb_post_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -938,24 +937,24 @@ arm_sem_ldrb_post_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -983,24 +982,24 @@ arm_sem_ldrb_post_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1028,24 +1027,24 @@ arm_sem_ldrb_post_dec_nonpriv_imm_offset (arm7f_cpu* current_cpu, arm_scache* se if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1073,24 +1072,24 @@ arm_sem_ldrb_post_dec_nonpriv_reg_offset (arm7f_cpu* current_cpu, arm_scache* se if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1118,24 +1117,24 @@ arm_sem_ldrb_post_inc_nonpriv_imm_offset (arm7f_cpu* current_cpu, arm_scache* se if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1163,24 +1162,24 @@ arm_sem_ldrb_post_inc_nonpriv_reg_offset (arm7f_cpu* current_cpu, arm_scache* se if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1208,16 +1207,16 @@ arm_sem_ldrb_pre_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -1248,16 +1247,16 @@ arm_sem_ldrb_pre_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -1288,16 +1287,16 @@ arm_sem_ldrb_pre_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -1328,16 +1327,16 @@ arm_sem_ldrb_pre_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -1368,24 +1367,24 @@ arm_sem_ldrb_pre_dec_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1413,24 +1412,24 @@ arm_sem_ldrb_pre_dec_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1458,24 +1457,24 @@ arm_sem_ldrb_pre_inc_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1503,24 +1502,24 @@ arm_sem_ldrb_pre_inc_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1547,16 +1546,16 @@ arm_sem_str_post_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1583,16 +1582,16 @@ arm_sem_str_post_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1619,16 +1618,16 @@ arm_sem_str_post_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1655,16 +1654,16 @@ arm_sem_str_post_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1691,16 +1690,16 @@ arm_sem_str_post_dec_nonpriv_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem tmp_addr = * FLD (i_rn); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1727,16 +1726,16 @@ arm_sem_str_post_dec_nonpriv_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem tmp_addr = * FLD (i_rn); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1763,16 +1762,16 @@ arm_sem_str_post_inc_nonpriv_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem tmp_addr = * FLD (i_rn); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1799,16 +1798,16 @@ arm_sem_str_post_inc_nonpriv_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem tmp_addr = * FLD (i_rn); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1835,9 +1834,9 @@ arm_sem_str_pre_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -1866,9 +1865,9 @@ arm_sem_str_pre_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -1897,9 +1896,9 @@ arm_sem_str_pre_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -1928,9 +1927,9 @@ arm_sem_str_pre_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -1959,16 +1958,16 @@ arm_sem_str_pre_dec_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -1995,16 +1994,16 @@ arm_sem_str_pre_dec_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2031,16 +2030,16 @@ arm_sem_str_pre_inc_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2067,16 +2066,16 @@ arm_sem_str_pre_inc_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2103,16 +2102,16 @@ arm_sem_strb_post_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2139,16 +2138,16 @@ arm_sem_strb_post_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2175,16 +2174,16 @@ arm_sem_strb_post_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2211,16 +2210,16 @@ arm_sem_strb_post_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2247,16 +2246,16 @@ arm_sem_strb_post_dec_nonpriv_imm_offset (arm7f_cpu* current_cpu, arm_scache* se tmp_addr = * FLD (i_rn); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2283,16 +2282,16 @@ arm_sem_strb_post_dec_nonpriv_reg_offset (arm7f_cpu* current_cpu, arm_scache* se tmp_addr = * FLD (i_rn); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2319,16 +2318,16 @@ arm_sem_strb_post_inc_nonpriv_imm_offset (arm7f_cpu* current_cpu, arm_scache* se tmp_addr = * FLD (i_rn); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2355,16 +2354,16 @@ arm_sem_strb_post_inc_nonpriv_reg_offset (arm7f_cpu* current_cpu, arm_scache* se tmp_addr = * FLD (i_rn); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2391,9 +2390,9 @@ arm_sem_strb_pre_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -2422,9 +2421,9 @@ arm_sem_strb_pre_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -2453,9 +2452,9 @@ arm_sem_strb_pre_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -2484,9 +2483,9 @@ arm_sem_strb_pre_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -2515,16 +2514,16 @@ arm_sem_strb_pre_dec_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2551,16 +2550,16 @@ arm_sem_strb_pre_dec_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2587,16 +2586,16 @@ arm_sem_strb_pre_inc_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2623,16 +2622,16 @@ arm_sem_strb_pre_inc_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2659,9 +2658,9 @@ arm_sem_strh_pre_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -2690,9 +2689,9 @@ arm_sem_strh_pre_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -2721,9 +2720,9 @@ arm_sem_strh_pre_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -2752,9 +2751,9 @@ arm_sem_strh_pre_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -2783,16 +2782,16 @@ arm_sem_strh_pre_dec_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2819,16 +2818,16 @@ arm_sem_strh_pre_dec_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2855,16 +2854,16 @@ arm_sem_strh_pre_inc_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2891,16 +2890,16 @@ arm_sem_strh_pre_inc_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2927,16 +2926,16 @@ arm_sem_strh_post_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2963,16 +2962,16 @@ arm_sem_strh_post_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -2999,16 +2998,16 @@ arm_sem_strh_post_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3035,16 +3034,16 @@ arm_sem_strh_post_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) tmp_addr = * FLD (i_rn); { HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, tmp_addr, opval); } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3072,16 +3071,16 @@ arm_sem_ldrsb_pre_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -3112,16 +3111,16 @@ arm_sem_ldrsb_pre_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -3152,16 +3151,16 @@ arm_sem_ldrsb_pre_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -3192,16 +3191,16 @@ arm_sem_ldrsb_pre_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -3232,24 +3231,24 @@ arm_sem_ldrsb_pre_dec_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3277,24 +3276,24 @@ arm_sem_ldrsb_pre_dec_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3322,24 +3321,24 @@ arm_sem_ldrsb_pre_inc_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3367,24 +3366,24 @@ arm_sem_ldrsb_pre_inc_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3412,24 +3411,24 @@ arm_sem_ldrsb_post_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3457,24 +3456,24 @@ arm_sem_ldrsb_post_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3502,24 +3501,24 @@ arm_sem_ldrsb_post_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3547,24 +3546,24 @@ arm_sem_ldrsb_post_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3592,16 +3591,16 @@ arm_sem_ldrh_pre_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -3632,16 +3631,16 @@ arm_sem_ldrh_pre_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -3672,16 +3671,16 @@ arm_sem_ldrh_pre_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -3712,16 +3711,16 @@ arm_sem_ldrh_pre_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -3752,24 +3751,24 @@ arm_sem_ldrh_pre_dec_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3797,24 +3796,24 @@ arm_sem_ldrh_pre_dec_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3842,24 +3841,24 @@ arm_sem_ldrh_pre_inc_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3887,24 +3886,24 @@ arm_sem_ldrh_pre_inc_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3932,24 +3931,24 @@ arm_sem_ldrh_post_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -3977,24 +3976,24 @@ arm_sem_ldrh_post_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4022,24 +4021,24 @@ arm_sem_ldrh_post_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4067,24 +4066,24 @@ arm_sem_ldrh_post_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4112,16 +4111,16 @@ arm_sem_ldrsh_pre_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -4152,16 +4151,16 @@ arm_sem_ldrsh_pre_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -4192,16 +4191,16 @@ arm_sem_ldrsh_pre_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -4232,16 +4231,16 @@ arm_sem_ldrsh_pre_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ @@ -4272,24 +4271,24 @@ arm_sem_ldrsh_pre_dec_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4317,24 +4316,24 @@ arm_sem_ldrsh_pre_dec_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4362,24 +4361,24 @@ arm_sem_ldrsh_pre_inc_wb_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4407,24 +4406,24 @@ arm_sem_ldrsh_pre_inc_wb_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } ((void) 0); /*nop*/ { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4452,24 +4451,24 @@ arm_sem_ldrsh_post_dec_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4497,24 +4496,24 @@ arm_sem_ldrsh_post_dec_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = SUBSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4542,24 +4541,24 @@ arm_sem_ldrsh_post_inc_imm_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4587,24 +4586,24 @@ arm_sem_ldrsh_post_inc_reg_offset (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { USI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, tmp_addr)); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } tmp_addr = ADDSI (* FLD (i_rn), tmp_offset); { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -4629,23 +4628,23 @@ arm_sem_mul (arm7f_cpu* current_cpu, arm_scache* sem) tmp_result = MULSI (* FLD (i_rm), * FLD (i_rs)); { SI opval = tmp_result; - * FLD (i_mul_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_mul_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_mul_rd) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -4671,23 +4670,23 @@ arm_sem_mla (arm7f_cpu* current_cpu, arm_scache* sem) SI tmp_result; { SI opval = ADDSI (MULSI (* FLD (i_rm), * FLD (i_rs)), * FLD (i_mul_rn)); - * FLD (i_mul_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_mul_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_mul_rd) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -4716,29 +4715,29 @@ arm_sem_umull (arm7f_cpu* current_cpu, arm_scache* sem) tmp_mul_result = MULDI (ZEXTSIDI (* FLD (i_rs)), ZEXTSIDI (* FLD (i_rm))); { SI opval = SUBWORDDISI (tmp_mul_result, 0); - * FLD (i_rdhi) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rdhi) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rdhi) = opval; } { SI opval = SUBWORDDISI (tmp_mul_result, 1); - * FLD (i_rdlo) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rdlo) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rdlo) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQDI (tmp_mul_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTDI (tmp_mul_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -4768,29 +4767,29 @@ arm_sem_umlal (arm7f_cpu* current_cpu, arm_scache* sem) tmp_mul_result = ADDDI (MULDI (ZEXTSIDI (* FLD (i_rs)), ZEXTSIDI (* FLD (i_rm))), tmp_mul_result); { SI opval = SUBWORDDISI (tmp_mul_result, 0); - * FLD (i_rdhi) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rdhi) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rdhi) = opval; } { SI opval = SUBWORDDISI (tmp_mul_result, 1); - * FLD (i_rdlo) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rdlo) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rdlo) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQDI (tmp_mul_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTDI (tmp_mul_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -4819,29 +4818,29 @@ arm_sem_smull (arm7f_cpu* current_cpu, arm_scache* sem) tmp_mul_result = MULDI (EXTSIDI (* FLD (i_rs)), EXTSIDI (* FLD (i_rm))); { SI opval = SUBWORDDISI (tmp_mul_result, 0); - * FLD (i_rdhi) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rdhi) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rdhi) = opval; } { SI opval = SUBWORDDISI (tmp_mul_result, 1); - * FLD (i_rdlo) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rdlo) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rdlo) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQDI (tmp_mul_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTDI (tmp_mul_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -4871,29 +4870,29 @@ arm_sem_smlal (arm7f_cpu* current_cpu, arm_scache* sem) tmp_mul_result = ADDDI (MULDI (EXTSIDI (* FLD (i_rs)), EXTSIDI (* FLD (i_rm))), tmp_mul_result); { SI opval = SUBWORDDISI (tmp_mul_result, 0); - * FLD (i_rdhi) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rdhi) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rdhi) = opval; } { SI opval = SUBWORDDISI (tmp_mul_result, 1); - * FLD (i_rdlo) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rdlo) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rdlo) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQDI (tmp_mul_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTDI (tmp_mul_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -4920,15 +4919,15 @@ arm_sem_swp (arm7f_cpu* current_cpu, arm_scache* sem) tmp_temp = current_cpu->GETMEMSI (pc, * FLD (i_rn)); { SI opval = * FLD (i_rm); - current_cpu->SETMEMSI (pc, * FLD (i_rn), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) * FLD (i_rn) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, * FLD (i_rn), opval); } { SI opval = tmp_temp; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } @@ -4953,15 +4952,15 @@ arm_sem_swpb (arm7f_cpu* current_cpu, arm_scache* sem) tmp_temp = current_cpu->GETMEMQI (pc, * FLD (i_rn)); { QI opval = * FLD (i_rm); - current_cpu->SETMEMQI (pc, * FLD (i_rn), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) * FLD (i_rn) << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, * FLD (i_rn), opval); } { SI opval = tmp_temp; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } @@ -4983,9 +4982,9 @@ arm_sem_swi (arm7f_cpu* current_cpu, arm_scache* sem) { USI opval = current_cpu->arm_swi (pc, FLD (f_swi_comment)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } current_cpu->done_cti_insn (npc, status); @@ -5015,16 +5014,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5032,31 +5031,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -5091,16 +5090,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5108,31 +5107,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -5163,16 +5162,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5180,23 +5179,23 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -5231,16 +5230,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5248,31 +5247,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -5307,16 +5306,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5324,31 +5323,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -5379,16 +5378,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5396,23 +5395,23 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -5447,16 +5446,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5464,31 +5463,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -5523,16 +5522,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5540,31 +5539,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -5595,16 +5594,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5612,23 +5611,23 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -5663,16 +5662,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5680,31 +5679,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -5739,16 +5738,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5756,31 +5755,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -5811,16 +5810,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5828,23 +5827,23 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -5879,16 +5878,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5896,31 +5895,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -5955,16 +5954,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -5972,31 +5971,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -6027,16 +6026,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -6044,23 +6043,23 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -6095,16 +6094,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -6112,31 +6111,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -6171,16 +6170,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -6188,31 +6187,31 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -6243,16 +6242,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -6260,23 +6259,23 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -6313,16 +6312,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -6330,9 +6329,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -6341,28 +6340,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (tmp_temp_op1, tmp_temp_op2, 0); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (tmp_temp_op1, tmp_temp_op2, 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -6399,16 +6398,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -6416,9 +6415,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -6427,28 +6426,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (tmp_temp_op1, tmp_temp_op2, 0); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (tmp_temp_op1, tmp_temp_op2, 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -6480,16 +6479,16 @@ if (EQSI (FLD (f_rd), 15)) { if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } } else { @@ -6501,36 +6500,36 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } } @@ -6565,16 +6564,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -6582,9 +6581,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -6593,28 +6592,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (tmp_temp_op1, tmp_temp_op2, current_cpu->hardware.h_cbit); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (tmp_temp_op1, tmp_temp_op2, current_cpu->hardware.h_cbit); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -6651,16 +6650,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -6668,9 +6667,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -6679,28 +6678,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (tmp_temp_op1, tmp_temp_op2, current_cpu->hardware.h_cbit); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (tmp_temp_op1, tmp_temp_op2, current_cpu->hardware.h_cbit); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -6732,16 +6731,16 @@ if (EQSI (FLD (f_rd), 15)) { if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } } else { @@ -6753,36 +6752,36 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (* FLD (i_rn), FLD (f_imm12), current_cpu->hardware.h_cbit); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (* FLD (i_rn), FLD (f_imm12), current_cpu->hardware.h_cbit); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } } @@ -6817,16 +6816,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -6834,9 +6833,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -6845,28 +6844,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (tmp_temp_op1, tmp_temp_op2, 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (tmp_temp_op1, tmp_temp_op2, 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (tmp_temp_op1, tmp_temp_op2, 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -6903,16 +6902,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -6920,9 +6919,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -6931,28 +6930,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (tmp_temp_op1, tmp_temp_op2, 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (tmp_temp_op1, tmp_temp_op2, 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (tmp_temp_op1, tmp_temp_op2, 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -6984,16 +6983,16 @@ if (EQSI (FLD (f_rd), 15)) { if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } } else { @@ -7005,36 +7004,36 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } } @@ -7069,16 +7068,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -7086,9 +7085,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -7097,28 +7096,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (tmp_temp_op1, tmp_temp_op2, NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (tmp_temp_op1, tmp_temp_op2, NOTBI (current_cpu->hardware.h_cbit))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (tmp_temp_op1, tmp_temp_op2, NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -7155,16 +7154,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -7172,9 +7171,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -7183,28 +7182,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (tmp_temp_op1, tmp_temp_op2, NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (tmp_temp_op1, tmp_temp_op2, NOTBI (current_cpu->hardware.h_cbit))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (tmp_temp_op1, tmp_temp_op2, NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -7236,16 +7235,16 @@ if (EQSI (FLD (f_rd), 15)) { if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } } else { @@ -7257,36 +7256,36 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), NOTBI (current_cpu->hardware.h_cbit))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (* FLD (i_rn), FLD (f_imm12), NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } } @@ -7321,16 +7320,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -7338,9 +7337,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -7349,28 +7348,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (tmp_temp_op2, tmp_temp_op1, 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (tmp_temp_op2, tmp_temp_op1, 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (tmp_temp_op2, tmp_temp_op1, 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -7407,16 +7406,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -7424,9 +7423,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -7435,28 +7434,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (tmp_temp_op2, tmp_temp_op1, 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (tmp_temp_op2, tmp_temp_op1, 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (tmp_temp_op2, tmp_temp_op1, 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -7488,16 +7487,16 @@ if (EQSI (FLD (f_rd), 15)) { if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } } else { @@ -7509,36 +7508,36 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (FLD (f_imm12), * FLD (i_rn), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (FLD (f_imm12), * FLD (i_rn), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (FLD (f_imm12), * FLD (i_rn), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } } @@ -7573,16 +7572,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -7590,9 +7589,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -7601,28 +7600,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (tmp_temp_op2, tmp_temp_op1, NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (tmp_temp_op2, tmp_temp_op1, NOTBI (current_cpu->hardware.h_cbit))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (tmp_temp_op2, tmp_temp_op1, NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -7659,16 +7658,16 @@ if (EQSI (FLD (f_rd), 15)) { { { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -7676,9 +7675,9 @@ if (FLD (f_set_cc_)) { { { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } if (FLD (f_set_cc_)) { { @@ -7687,28 +7686,28 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (tmp_temp_op2, tmp_temp_op1, NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (tmp_temp_op2, tmp_temp_op1, NOTBI (current_cpu->hardware.h_cbit))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (tmp_temp_op2, tmp_temp_op1, NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -7740,16 +7739,16 @@ if (EQSI (FLD (f_rd), 15)) { if (FLD (f_set_cc_)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } { USI opval = tmp_result; - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } } else { @@ -7761,36 +7760,36 @@ if (FLD (f_set_cc_)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (FLD (f_imm12), * FLD (i_rn), NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (FLD (f_imm12), * FLD (i_rn), NOTBI (current_cpu->hardware.h_cbit))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (FLD (f_imm12), * FLD (i_rn), NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } { SI opval = tmp_result; - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } } } @@ -7822,31 +7821,31 @@ arm_sem_tst_reg_imm_shift (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } else { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -7878,31 +7877,31 @@ arm_sem_tst_reg_reg_shift (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } else { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -7935,22 +7934,22 @@ if (EQSI (FLD (f_ror_imm8_rotate), 0)) { { { BI opval = EQSI (ANDSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (ANDSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -7981,31 +7980,31 @@ arm_sem_teq_reg_imm_shift (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } else { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -8037,31 +8036,31 @@ arm_sem_teq_reg_reg_shift (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } else { { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -8094,22 +8093,22 @@ if (EQSI (FLD (f_ror_imm8_rotate), 0)) { { { BI opval = EQSI (XORSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (XORSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -8136,9 +8135,9 @@ arm_sem_cmp_reg_imm_shift (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } else { { @@ -8147,28 +8146,28 @@ if (EQSI (FLD (f_rd), 15)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (* FLD (i_rn), tmp_operand2, 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (* FLD (i_rn), tmp_operand2, 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (* FLD (i_rn), tmp_operand2, 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -8196,9 +8195,9 @@ arm_sem_cmp_reg_reg_shift (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } else { { @@ -8207,28 +8206,28 @@ if (EQSI (FLD (f_rd), 15)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (* FLD (i_rn), tmp_operand2, 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (* FLD (i_rn), tmp_operand2, 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (* FLD (i_rn), tmp_operand2, 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -8256,28 +8255,28 @@ arm_sem_cmp_imm (arm7f_cpu* current_cpu, arm_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } @@ -8303,9 +8302,9 @@ arm_sem_cmn_reg_imm_shift (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } else { { @@ -8314,28 +8313,28 @@ if (EQSI (FLD (f_rd), 15)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (* FLD (i_rn), tmp_operand2, 0); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (* FLD (i_rn), tmp_operand2, 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -8363,9 +8362,9 @@ arm_sem_cmn_reg_reg_shift (arm7f_cpu* current_cpu, arm_scache* sem) if (EQSI (FLD (f_rd), 15)) { { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } else { { @@ -8374,28 +8373,28 @@ if (EQSI (FLD (f_rd), 15)) { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (* FLD (i_rn), tmp_operand2, 0); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (* FLD (i_rn), tmp_operand2, 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } } @@ -8423,28 +8422,28 @@ arm_sem_cmn_imm (arm7f_cpu* current_cpu, arm_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } @@ -8471,9 +8470,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8482,9 +8481,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8493,9 +8492,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8504,9 +8503,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8515,9 +8514,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8526,9 +8525,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8537,9 +8536,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8548,9 +8547,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8559,9 +8558,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8570,9 +8569,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8581,9 +8580,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8592,9 +8591,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8603,9 +8602,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8614,9 +8613,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8625,9 +8624,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8636,9 +8635,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8668,16 +8667,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -8686,16 +8685,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (14, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -8706,16 +8705,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (13, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -8726,16 +8725,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (12, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -8746,16 +8745,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (11, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -8766,16 +8765,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (10, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -8786,16 +8785,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (9, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -8806,16 +8805,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (8, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -8825,9 +8824,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8836,9 +8835,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8847,9 +8846,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8858,9 +8857,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8869,9 +8868,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8880,9 +8879,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8891,9 +8890,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8902,9 +8901,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8934,9 +8933,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8945,9 +8944,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8956,9 +8955,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8967,9 +8966,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8978,9 +8977,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -8989,9 +8988,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9000,9 +8999,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9011,9 +9010,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9022,9 +9021,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9033,9 +9032,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9044,9 +9043,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9055,9 +9054,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9066,9 +9065,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9077,9 +9076,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9088,9 +9087,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9099,18 +9098,18 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -9137,16 +9136,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -9155,16 +9154,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (14, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -9175,16 +9174,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (13, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -9195,16 +9194,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (12, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -9215,16 +9214,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (11, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -9235,16 +9234,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (10, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -9255,16 +9254,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (9, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -9275,16 +9274,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (8, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; } } tmp_addr = SUBSI (tmp_addr, 4); @@ -9294,9 +9293,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9305,9 +9304,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9316,9 +9315,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9327,9 +9326,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9338,9 +9337,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9349,9 +9348,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9360,9 +9359,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } @@ -9371,18 +9370,18 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } tmp_addr = SUBSI (tmp_addr, 4); } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -9410,9 +9409,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } } } @@ -9421,9 +9420,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } } } @@ -9432,9 +9431,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } } } @@ -9443,9 +9442,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } } } @@ -9454,9 +9453,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } } } @@ -9465,9 +9464,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } } } @@ -9476,9 +9475,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } } } @@ -9487,9 +9486,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } } } @@ -9498,9 +9497,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } } @@ -9509,9 +9508,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } } @@ -9520,9 +9519,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } } @@ -9531,9 +9530,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } } @@ -9542,9 +9541,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } } @@ -9553,9 +9552,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } } @@ -9564,9 +9563,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } } @@ -9575,9 +9574,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = ADDSI (tmp_addr, 4); { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } } @@ -9607,9 +9606,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } } } @@ -9618,9 +9617,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } } } @@ -9629,9 +9628,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } } } @@ -9640,9 +9639,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } } } @@ -9651,9 +9650,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } } } @@ -9662,9 +9661,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } } } @@ -9673,9 +9672,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } } } @@ -9684,9 +9683,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } } } @@ -9696,16 +9695,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (8, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; } } } @@ -9716,16 +9715,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (9, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; } } } @@ -9736,16 +9735,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (10, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; } } } @@ -9756,16 +9755,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (11, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; } } } @@ -9776,16 +9775,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (12, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; } } } @@ -9796,16 +9795,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (13, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; } } } @@ -9816,16 +9815,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (14, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; } } } @@ -9835,15 +9834,15 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = ADDSI (tmp_addr, 4); { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -9873,9 +9872,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } } } @@ -9884,9 +9883,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } } } @@ -9895,9 +9894,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } } } @@ -9906,9 +9905,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } } } @@ -9917,9 +9916,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } } } @@ -9928,9 +9927,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } } } @@ -9939,9 +9938,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } } } @@ -9950,9 +9949,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } } } @@ -9961,9 +9960,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } } @@ -9972,9 +9971,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } } @@ -9983,9 +9982,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } } @@ -9994,9 +9993,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } } @@ -10005,9 +10004,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } } @@ -10016,9 +10015,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } } @@ -10027,9 +10026,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } } @@ -10038,17 +10037,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = ADDSI (tmp_addr, 4); { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -10076,9 +10075,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } } } @@ -10087,9 +10086,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } } } @@ -10098,9 +10097,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } } } @@ -10109,9 +10108,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } } } @@ -10120,9 +10119,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } } } @@ -10131,9 +10130,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } } } @@ -10142,9 +10141,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } } } @@ -10153,9 +10152,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } } } @@ -10165,16 +10164,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (8, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; } } } @@ -10185,16 +10184,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (9, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; } } } @@ -10205,16 +10204,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (10, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; } } } @@ -10225,16 +10224,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (11, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; } } } @@ -10245,16 +10244,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (12, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; } } } @@ -10265,16 +10264,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (13, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; } } } @@ -10285,16 +10284,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (14, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; } } } @@ -10304,23 +10303,23 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = ADDSI (tmp_addr, 4); { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -10347,9 +10346,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10358,9 +10357,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10369,9 +10368,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10380,9 +10379,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10391,9 +10390,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10402,9 +10401,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10413,9 +10412,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10424,9 +10423,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10435,9 +10434,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10446,9 +10445,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10457,9 +10456,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10468,9 +10467,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10479,9 +10478,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10490,9 +10489,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10501,9 +10500,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10512,9 +10511,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10544,9 +10543,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10555,9 +10554,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10566,9 +10565,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10577,9 +10576,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10588,9 +10587,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10599,9 +10598,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10610,9 +10609,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10621,9 +10620,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10633,16 +10632,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (8, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -10653,16 +10652,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (9, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -10673,16 +10672,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (10, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -10693,16 +10692,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (11, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -10713,16 +10712,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (12, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -10733,16 +10732,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (13, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -10753,16 +10752,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (14, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -10772,16 +10771,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -10810,9 +10809,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10821,9 +10820,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10832,9 +10831,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10843,9 +10842,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10854,9 +10853,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10865,9 +10864,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10876,9 +10875,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10887,9 +10886,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10898,9 +10897,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10909,9 +10908,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10920,9 +10919,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10931,9 +10930,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10942,9 +10941,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10953,9 +10952,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10964,9 +10963,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -10975,18 +10974,18 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } tmp_addr = ADDSI (tmp_addr, 4); } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -11013,9 +11012,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -11024,9 +11023,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -11035,9 +11034,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -11046,9 +11045,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -11057,9 +11056,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -11068,9 +11067,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -11079,9 +11078,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -11090,9 +11089,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } tmp_addr = ADDSI (tmp_addr, 4); } @@ -11102,16 +11101,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (8, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -11122,16 +11121,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (9, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -11142,16 +11141,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (10, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -11162,16 +11161,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (11, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -11182,16 +11181,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (12, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -11202,16 +11201,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (13, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -11222,16 +11221,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (14, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; } } tmp_addr = ADDSI (tmp_addr, 4); @@ -11241,24 +11240,24 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -11286,9 +11285,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = SUBSI (tmp_addr, 4); { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } } @@ -11297,9 +11296,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } } @@ -11308,9 +11307,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } } @@ -11319,9 +11318,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } } @@ -11330,9 +11329,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } } @@ -11341,9 +11340,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } } @@ -11352,9 +11351,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } } @@ -11363,9 +11362,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } } @@ -11374,9 +11373,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } } } @@ -11385,9 +11384,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } } } @@ -11396,9 +11395,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } } } @@ -11407,9 +11406,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } } } @@ -11418,9 +11417,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } } } @@ -11429,9 +11428,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } } } @@ -11440,9 +11439,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } } } @@ -11451,9 +11450,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } } } @@ -11483,15 +11482,15 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = SUBSI (tmp_addr, 4); { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -11501,16 +11500,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (14, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; } } } @@ -11521,16 +11520,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (13, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; } } } @@ -11541,16 +11540,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (12, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; } } } @@ -11561,16 +11560,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (11, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; } } } @@ -11581,16 +11580,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (10, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; } } } @@ -11601,16 +11600,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (9, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; } } } @@ -11621,16 +11620,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (8, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; } } } @@ -11640,9 +11639,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } } } @@ -11651,9 +11650,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } } } @@ -11662,9 +11661,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } } } @@ -11673,9 +11672,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } } } @@ -11684,9 +11683,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } } } @@ -11695,9 +11694,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } } } @@ -11706,9 +11705,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } } } @@ -11717,9 +11716,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } } } @@ -11749,9 +11748,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = SUBSI (tmp_addr, 4); { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } } @@ -11760,9 +11759,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } } @@ -11771,9 +11770,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } } @@ -11782,9 +11781,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } } @@ -11793,9 +11792,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } } @@ -11804,9 +11803,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } } @@ -11815,9 +11814,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } } @@ -11826,9 +11825,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } } @@ -11837,9 +11836,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } } } @@ -11848,9 +11847,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } } } @@ -11859,9 +11858,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } } } @@ -11870,9 +11869,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } } } @@ -11881,9 +11880,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } } } @@ -11892,9 +11891,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } } } @@ -11903,9 +11902,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } } } @@ -11914,17 +11913,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -11952,15 +11951,15 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = SUBSI (tmp_addr, 4); { USI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } { SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } } } @@ -11970,16 +11969,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 14) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 14)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (14, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; } } } @@ -11990,16 +11989,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 13) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 13)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (13, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; } } } @@ -12010,16 +12009,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 12) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 12)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (12, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; } } } @@ -12030,16 +12029,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 11) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 11)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (11, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; } } } @@ -12050,16 +12049,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 10) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 10)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (10, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; } } } @@ -12070,16 +12069,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 9) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 9)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (9, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; } } } @@ -12090,16 +12089,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 8)] = opval; } } else { { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-usr" << '[' << SUBSI (8, 8) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; } } } @@ -12109,9 +12108,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 7)] = opval; } } } @@ -12120,9 +12119,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 6)] = opval; } } } @@ -12131,9 +12130,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 5)] = opval; } } } @@ -12142,9 +12141,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 4)] = opval; } } } @@ -12153,9 +12152,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 3)] = opval; } } } @@ -12164,9 +12163,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 2)] = opval; } } } @@ -12175,9 +12174,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 1)] = opval; } } } @@ -12186,17 +12185,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->GETMEMSI (pc, tmp_addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_gr[((UINT) 0)] = opval; } } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -12224,9 +12223,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12235,9 +12234,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12246,9 +12245,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12257,9 +12256,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12268,9 +12267,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12279,9 +12278,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12290,9 +12289,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12301,9 +12300,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12312,9 +12311,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12323,9 +12322,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12334,9 +12333,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12345,9 +12344,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12356,9 +12355,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12367,9 +12366,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12378,9 +12377,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12389,9 +12388,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12421,9 +12420,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12433,16 +12432,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12453,16 +12452,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12473,16 +12472,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12493,16 +12492,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12513,16 +12512,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12533,16 +12532,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12553,16 +12552,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12572,9 +12571,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12583,9 +12582,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12594,9 +12593,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12605,9 +12604,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12616,9 +12615,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12627,9 +12626,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12638,9 +12637,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12649,9 +12648,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12681,9 +12680,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12692,9 +12691,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12703,9 +12702,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12714,9 +12713,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12725,9 +12724,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12736,9 +12735,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12747,9 +12746,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12758,9 +12757,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12769,9 +12768,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12780,9 +12779,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12791,9 +12790,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12802,9 +12801,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12813,9 +12812,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12824,9 +12823,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12835,9 +12834,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12846,17 +12845,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -12884,9 +12883,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12896,16 +12895,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12916,16 +12915,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12936,16 +12935,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12956,16 +12955,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12976,16 +12975,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -12996,16 +12995,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13016,16 +13015,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13035,9 +13034,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13046,9 +13045,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13057,9 +13056,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13068,9 +13067,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13079,9 +13078,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13090,9 +13089,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13101,9 +13100,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13112,17 +13111,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = SUBSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -13150,9 +13149,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13161,9 +13160,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13172,9 +13171,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13183,9 +13182,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13194,9 +13193,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13205,9 +13204,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13216,9 +13215,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13227,9 +13226,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13238,9 +13237,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13249,9 +13248,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13260,9 +13259,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13271,9 +13270,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13282,9 +13281,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13293,9 +13292,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13304,9 +13303,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13315,9 +13314,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13347,9 +13346,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13358,9 +13357,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13369,9 +13368,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13380,9 +13379,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13391,9 +13390,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13402,9 +13401,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13413,9 +13412,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13424,9 +13423,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13436,16 +13435,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13456,16 +13455,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13476,16 +13475,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13496,16 +13495,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13516,16 +13515,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13536,16 +13535,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13556,16 +13555,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13575,9 +13574,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13607,9 +13606,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13618,9 +13617,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13629,9 +13628,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13640,9 +13639,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13651,9 +13650,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13662,9 +13661,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13673,9 +13672,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13684,9 +13683,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13695,9 +13694,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13706,9 +13705,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13717,9 +13716,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13728,9 +13727,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13739,9 +13738,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13750,9 +13749,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13761,9 +13760,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13772,17 +13771,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -13810,9 +13809,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13821,9 +13820,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13832,9 +13831,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13843,9 +13842,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13854,9 +13853,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13865,9 +13864,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13876,9 +13875,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13887,9 +13886,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13899,16 +13898,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13919,16 +13918,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13939,16 +13938,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13959,16 +13958,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13979,16 +13978,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -13999,16 +13998,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -14019,16 +14018,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } @@ -14038,17 +14037,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { tmp_addr = ADDSI (tmp_addr, 4); { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -14075,9 +14074,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14086,9 +14085,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14097,9 +14096,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14108,9 +14107,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14119,9 +14118,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14130,9 +14129,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14141,9 +14140,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14152,9 +14151,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14163,9 +14162,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14174,9 +14173,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14185,9 +14184,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14196,9 +14195,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14207,9 +14206,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14218,9 +14217,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14229,9 +14228,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14240,9 +14239,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14272,9 +14271,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14283,9 +14282,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14294,9 +14293,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14305,9 +14304,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14316,9 +14315,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14327,9 +14326,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14338,9 +14337,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14349,9 +14348,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14361,16 +14360,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14381,16 +14380,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14401,16 +14400,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14421,16 +14420,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14441,16 +14440,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14461,16 +14460,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14481,16 +14480,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14500,9 +14499,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14532,9 +14531,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14543,9 +14542,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14554,9 +14553,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14565,9 +14564,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14576,9 +14575,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14587,9 +14586,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14598,9 +14597,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14609,9 +14608,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14620,9 +14619,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14631,9 +14630,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14642,9 +14641,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14653,9 +14652,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14664,9 +14663,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14675,9 +14674,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14686,9 +14685,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14697,18 +14696,18 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -14735,9 +14734,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14746,9 +14745,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14757,9 +14756,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14768,9 +14767,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14779,9 +14778,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14790,9 +14789,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14801,9 +14800,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14812,9 +14811,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } @@ -14824,16 +14823,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14844,16 +14843,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14864,16 +14863,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14884,16 +14883,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14904,16 +14903,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14924,16 +14923,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14944,16 +14943,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = ADDSI (tmp_addr, 4); @@ -14963,18 +14962,18 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = ADDSI (tmp_addr, 4); } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -15001,9 +15000,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15012,9 +15011,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15023,9 +15022,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15034,9 +15033,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15045,9 +15044,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15056,9 +15055,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15067,9 +15066,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15078,9 +15077,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15089,9 +15088,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15100,9 +15099,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15111,9 +15110,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15122,9 +15121,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15133,9 +15132,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15144,9 +15143,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15155,9 +15154,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15166,9 +15165,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15198,9 +15197,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15210,16 +15209,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15230,16 +15229,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15250,16 +15249,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15270,16 +15269,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15290,16 +15289,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15310,16 +15309,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15330,16 +15329,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15349,9 +15348,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15360,9 +15359,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15371,9 +15370,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15382,9 +15381,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15393,9 +15392,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15404,9 +15403,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15415,9 +15414,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15426,9 +15425,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15458,9 +15457,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15469,9 +15468,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15480,9 +15479,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15491,9 +15490,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15502,9 +15501,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15513,9 +15512,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15524,9 +15523,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15535,9 +15534,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15546,9 +15545,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15557,9 +15556,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15568,9 +15567,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15579,9 +15578,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15590,9 +15589,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15601,9 +15600,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15612,9 +15611,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15623,18 +15622,18 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -15661,9 +15660,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { { SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15673,16 +15672,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15693,16 +15692,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15713,16 +15712,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15733,16 +15732,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15753,16 +15752,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15773,16 +15772,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15793,16 +15792,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } else { { SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } } tmp_addr = SUBSI (tmp_addr, 4); @@ -15812,9 +15811,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15823,9 +15822,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15834,9 +15833,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15845,9 +15844,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15856,9 +15855,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15867,9 +15866,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15878,9 +15877,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } @@ -15889,18 +15888,18 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { { SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, tmp_addr, opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) tmp_addr << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, tmp_addr, opval); } tmp_addr = SUBSI (tmp_addr, 4); } } { SI opval = tmp_addr; - * FLD (i_rn) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rn) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rn) = opval; } } @@ -15922,9 +15921,9 @@ arm_sem_mrs_c (arm7f_cpu* current_cpu, arm_scache* sem) { SI opval = current_cpu->h_cpsr_get (); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } current_cpu->done_insn (npc, status); @@ -15945,9 +15944,9 @@ arm_sem_mrs_s (arm7f_cpu* current_cpu, arm_scache* sem) { SI opval = current_cpu->h_spsr_get (); - * FLD (i_rd) = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + * FLD (i_rd) = opval; } current_cpu->done_insn (npc, status); @@ -15968,9 +15967,9 @@ arm_sem_msr_c (arm7f_cpu* current_cpu, arm_scache* sem) { SI opval = * FLD (i_rm); - current_cpu->h_cpsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cpsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_cpsr_set (opval); } current_cpu->done_insn (npc, status); @@ -15991,9 +15990,9 @@ arm_sem_msr_s (arm7f_cpu* current_cpu, arm_scache* sem) { SI opval = * FLD (i_rm); - current_cpu->h_spsr_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "spsr" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_spsr_set (opval); } current_cpu->done_insn (npc, status); diff --git a/sid/component/cgen-cpu/arm7t/arm-semsw.cxx b/sid/component/cgen-cpu/arm7t/arm-semsw.cxx index 2f40d8cdea..d2028c4d16 100644 --- a/sid/component/cgen-cpu/arm7t/arm-semsw.cxx +++ b/sid/component/cgen-cpu/arm7t/arm-semsw.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -925,7 +925,7 @@ restart: { offset = current_cpu->compute_operand2_immshift (* FLD (i_rm), FLD (f_operand2_shifttype), FLD (f_operand2_shiftimm)); addr = * FLD (i_rn); -if (((FLD (f_rd)) == (15))) { +if (EQSI (FLD (f_rd), 15)) { npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { * FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); @@ -948,7 +948,7 @@ npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; { addr = * FLD (i_rn); -if (((FLD (f_reg_list)) & (((1) << (15))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); addr = SUBSI (addr, 4); @@ -972,49 +972,49 @@ current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], { addr = * FLD (i_rn); -if (((FLD (f_reg_list)) & (((1) << (0))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (1))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (2))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (3))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (4))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (5))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (6))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (7))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); addr = ADDSI (addr, 4); @@ -1038,49 +1038,49 @@ current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); { addr = * FLD (i_rn); -if (((FLD (f_reg_list)) & (((1) << (0))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = ADDSI (addr, 4); current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); } } -if (((FLD (f_reg_list)) & (((1) << (1))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = ADDSI (addr, 4); current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); } } -if (((FLD (f_reg_list)) & (((1) << (2))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = ADDSI (addr, 4); current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); } } -if (((FLD (f_reg_list)) & (((1) << (3))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = ADDSI (addr, 4); current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); } } -if (((FLD (f_reg_list)) & (((1) << (4))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = ADDSI (addr, 4); current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); } } -if (((FLD (f_reg_list)) & (((1) << (5))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = ADDSI (addr, 4); current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); } } -if (((FLD (f_reg_list)) & (((1) << (6))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = ADDSI (addr, 4); current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); } } -if (((FLD (f_reg_list)) & (((1) << (7))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = ADDSI (addr, 4); current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); @@ -1104,7 +1104,7 @@ current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); { addr = * FLD (i_rn); -if (((FLD (f_reg_list)) & (((1) << (15))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = SUBSI (addr, 4); current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); @@ -1129,49 +1129,49 @@ current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], { addr = * FLD (i_rn); -if (((FLD (f_reg_list)) & (((1) << (0))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (1))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (2))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (3))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (4))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (5))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (6))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } -if (((FLD (f_reg_list)) & (((1) << (7))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); @@ -1196,49 +1196,49 @@ current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); { addr = * FLD (i_rn); -if (((FLD (f_reg_list)) & (((1) << (0))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = ADDSI (addr, 4); current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); } } -if (((FLD (f_reg_list)) & (((1) << (1))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = ADDSI (addr, 4); current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); } } -if (((FLD (f_reg_list)) & (((1) << (2))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = ADDSI (addr, 4); current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); } } -if (((FLD (f_reg_list)) & (((1) << (3))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = ADDSI (addr, 4); current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); } } -if (((FLD (f_reg_list)) & (((1) << (4))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = ADDSI (addr, 4); current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); } } -if (((FLD (f_reg_list)) & (((1) << (5))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = ADDSI (addr, 4); current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); } } -if (((FLD (f_reg_list)) & (((1) << (6))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = ADDSI (addr, 4); current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); } } -if (((FLD (f_reg_list)) & (((1) << (7))))) { +if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = ADDSI (addr, 4); current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); @@ -1284,7 +1284,7 @@ current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); { offset = FLD (f_uimm12); addr = * FLD (i_rn); -if (((FLD (f_rd)) == (15))) { +if (EQSI (FLD (f_rd), 15)) { npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { * FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); @@ -1309,7 +1309,7 @@ npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABL { offset = FLD (f_uimm12); addr = * FLD (i_rn); -if (((FLD (f_rd)) == (15))) { +if (EQSI (FLD (f_rd), 15)) { npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { * FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); @@ -1344,26 +1344,14 @@ npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; { if (EQSI (FLD (f_rd), 15)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } else { { { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } - { - BI opval = carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = carry_out; } } } @@ -1381,26 +1369,14 @@ if (EQSI (FLD (f_rd), 15)) { { if (EQSI (FLD (f_rd), 15)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } else { { { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } - { - BI opval = carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = carry_out; } } } @@ -1417,7 +1393,7 @@ if (EQSI (FLD (f_rd), 15)) { PCADDR pc = abuf->addr; { -if (((FLD (f_rd)) == (15))) { +if (EQSI (FLD (f_rd), 15)) { { npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { @@ -1451,7 +1427,7 @@ current_cpu->hardware.h_nbit = LTSI (result, 0); PCADDR pc = abuf->addr; { -if (((FLD (f_rd)) == (15))) { +if (EQSI (FLD (f_rd), 15)) { { npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { @@ -1488,7 +1464,7 @@ current_cpu->hardware.h_cbit = carry_out; PCADDR pc = abuf->addr; { -if (((FLD (f_rd)) == (15))) { +if (EQSI (FLD (f_rd), 15)) { { npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { @@ -1650,15 +1626,9 @@ current_cpu->hardware.h_nbit = LTDI (mul_result, 0); { if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -1679,15 +1649,9 @@ if (EQSI (FLD (f_rd), 15)) { { if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -1810,21 +1774,12 @@ if (EQSI (FLD (f_rd), 15)) { { if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } ((void) 0); /*nop*/ - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -1842,21 +1797,12 @@ if (EQSI (FLD (f_rd), 15)) { { if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } ((void) 0); /*nop*/ - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -1907,15 +1853,9 @@ current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); PCADDR pc = abuf->addr; { - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -1930,7 +1870,7 @@ current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); PCADDR pc = abuf->addr; { -if (((FLD (f_rd)) == (15))) { +if (EQSI (FLD (f_rd), 15)) { npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { * FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); @@ -1987,15 +1927,9 @@ current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); PCADDR pc = abuf->addr; { - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -2010,7 +1944,7 @@ current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); PCADDR pc = abuf->addr; { -if (((FLD (f_rd)) == (15))) { +if (EQSI (FLD (f_rd), 15)) { npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { * FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); @@ -2200,10 +2134,7 @@ npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABL current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, GET_ATTR (R15_OFFSET)); { - { - USI opval = FLD (i_offset24); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_offset24); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2224,14 +2155,8 @@ npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABL current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, GET_ATTR (R15_OFFSET)); { - { - SI opval = ANDSI (ADDSI (pc, 4), -4); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } - { - USI opval = FLD (i_offset24); - npc = opval; br_status = BRANCH_CACHEABLE; - } +current_cpu->hardware.h_gr[((UINT) 14)] = ANDSI (ADDSI (pc, 4), -4); +npc = FLD (i_offset24); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2252,15 +2177,9 @@ npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABL current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, GET_ATTR (R15_OFFSET)); { - { - USI opval = ANDSI (* FLD (i_bx_rn), 0xfffffffe); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ANDSI (* FLD (i_bx_rn), 0xfffffffe); br_status = BRANCH_UNCACHEABLE; if (ANDSI (* FLD (i_bx_rn), 1)) { - { - BI opval = 1; - current_cpu->h_tbit_set (opval); - } +current_cpu->h_tbit_set (1); } } @@ -2285,21 +2204,12 @@ if (ANDSI (* FLD (i_bx_rn), 1)) { offset = FLD (f_uimm12); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2323,21 +2233,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = current_cpu->compute_operand2_immshift (* FLD (i_rm), FLD (f_operand2_shifttype), FLD (f_operand2_shiftimm)); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2355,10 +2256,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2376,10 +2274,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2397,10 +2292,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2418,10 +2310,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2445,21 +2334,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (f_uimm12); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2477,21 +2357,12 @@ if (EQSI (FLD (f_rd), 15)) { { if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2530,15 +2401,9 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -2565,15 +2430,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (f_uimm12); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } } @@ -2626,21 +2485,12 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } ((void) 0); /*nop*/ - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2664,15 +2514,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (f_uimm12); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->GETMEMSI (pc, addr); } } @@ -2710,21 +2554,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (f_uimm12); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); } addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2742,10 +2577,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2763,10 +2595,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2790,21 +2619,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (f_uimm12); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); } addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -2828,15 +2648,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (f_uimm12); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -2854,15 +2668,9 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -2885,15 +2693,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (f_uimm12); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -2911,15 +2713,9 @@ if (EQSI (FLD (f_rd), 15)) { { addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -2942,15 +2738,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (f_uimm12); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -2968,15 +2758,9 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -2999,15 +2783,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (f_uimm12); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -3025,15 +2803,9 @@ if (EQSI (FLD (f_rd), 15)) { { addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -3092,15 +2864,9 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = * FLD (i_rn); - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -3120,15 +2886,9 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = * FLD (i_rn); - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -3148,10 +2908,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); } #undef FLD @@ -3167,10 +2924,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); } #undef FLD @@ -3190,10 +2944,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); } #undef FLD @@ -3209,10 +2960,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); } #undef FLD @@ -3232,10 +2980,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); } #undef FLD @@ -3251,10 +2996,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); } #undef FLD @@ -3274,10 +3016,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); } #undef FLD @@ -3293,10 +3032,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = * FLD (i_rd); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, * FLD (i_rd)); } #undef FLD @@ -3316,15 +3052,9 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = * FLD (i_rn); - { - QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, addr, opval); - } +current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -3340,10 +3070,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -3359,10 +3086,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -3382,15 +3106,9 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = * FLD (i_rn); - { - QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, addr, opval); - } +current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -3425,10 +3143,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = SUBSI (* FLD (i_rn), offset); - { - QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, addr, opval); - } +current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); } #undef FLD @@ -3444,10 +3159,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); - { - QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, addr, opval); - } +current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); } #undef FLD @@ -3467,10 +3179,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = ADDSI (* FLD (i_rn), offset); - { - QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, addr, opval); - } +current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); } #undef FLD @@ -3490,10 +3199,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = current_cpu->compute_operand2_immshift (* FLD (i_rm), FLD (f_operand2_shifttype), FLD (f_operand2_shiftimm)); addr = ADDSI (* FLD (i_rn), offset); - { - QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, addr, opval); - } +current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); } #undef FLD @@ -3513,10 +3219,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = SUBSI (* FLD (i_rn), offset); - { - QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, addr, opval); - } +current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); } #undef FLD @@ -3532,10 +3235,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = SUBSI (* FLD (i_rn), offset); - { - QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, addr, opval); - } +current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); } #undef FLD @@ -3555,10 +3255,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (f_uimm12); addr = ADDSI (* FLD (i_rn), offset); - { - QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, addr, opval); - } +current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); } #undef FLD @@ -3574,10 +3271,7 @@ if (EQSI (FLD (f_rd), 15)) { { addr = ADDSI (* FLD (i_rn), offset); - { - QI opval = TRUNCSIQI (* FLD (i_rd)); - current_cpu->SETMEMQI (pc, addr, opval); - } +current_cpu->SETMEMQI (pc, addr, TRUNCSIQI (* FLD (i_rd))); } #undef FLD @@ -3597,10 +3291,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (i_hdt_offset8); addr = SUBSI (* FLD (i_rn), offset); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); } #undef FLD @@ -3620,10 +3311,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = * FLD (i_rm); addr = SUBSI (* FLD (i_rn), offset); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); } #undef FLD @@ -3643,10 +3331,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (i_hdt_offset8); addr = ADDSI (* FLD (i_rn), offset); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); } #undef FLD @@ -3666,10 +3351,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = * FLD (i_rm); addr = ADDSI (* FLD (i_rn), offset); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); } #undef FLD @@ -3689,10 +3371,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (i_hdt_offset8); addr = SUBSI (* FLD (i_rn), offset); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); } #undef FLD @@ -3712,10 +3391,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = * FLD (i_rm); addr = SUBSI (* FLD (i_rn), offset); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); } #undef FLD @@ -3735,10 +3411,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (i_hdt_offset8); addr = ADDSI (* FLD (i_rn), offset); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); } #undef FLD @@ -3758,10 +3431,7 @@ if (EQSI (FLD (f_rd), 15)) { { offset = * FLD (i_rm); addr = ADDSI (* FLD (i_rn), offset); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); } #undef FLD @@ -3781,15 +3451,9 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (i_hdt_offset8); addr = * FLD (i_rn); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -3809,15 +3473,9 @@ if (EQSI (FLD (f_rd), 15)) { { offset = * FLD (i_rm); addr = * FLD (i_rn); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -3837,15 +3495,9 @@ if (EQSI (FLD (f_rd), 15)) { { offset = FLD (i_hdt_offset8); addr = * FLD (i_rn); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -3865,15 +3517,9 @@ if (EQSI (FLD (f_rd), 15)) { { offset = * FLD (i_rm); addr = * FLD (i_rn); - { - HI opval = TRUNCSIHI (* FLD (i_rd)); - current_cpu->SETMEMHI (pc, addr, opval); - } +current_cpu->SETMEMHI (pc, addr, TRUNCSIHI (* FLD (i_rd))); addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -3895,15 +3541,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -3926,15 +3566,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -3957,15 +3591,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -3988,15 +3616,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -4019,15 +3641,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -4050,15 +3666,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -4081,15 +3691,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -4112,15 +3716,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } } @@ -4143,21 +3741,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -4181,21 +3770,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -4219,21 +3799,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -4257,21 +3828,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTQISI (current_cpu->GETMEMQI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTQISI (current_cpu->GETMEMQI (pc, addr)); } addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -4295,15 +3857,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4326,15 +3882,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4357,15 +3907,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4388,15 +3932,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4419,15 +3957,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4450,15 +3982,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4481,15 +4007,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4512,15 +4032,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4543,21 +4057,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -4581,21 +4086,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -4619,21 +4115,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -4657,21 +4144,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = ZEXTHISI (current_cpu->GETMEMHI (pc, addr)); } addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -4695,15 +4173,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4726,15 +4198,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4757,15 +4223,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4788,15 +4248,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } ((void) 0); /*nop*/ ((void) 0); /*nop*/ @@ -4823,15 +4277,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4854,15 +4302,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = SUBSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4885,15 +4327,9 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } } @@ -4916,21 +4352,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = ADDSI (* FLD (i_rn), offset); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } ((void) 0); /*nop*/ - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -4954,21 +4381,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -4992,21 +4410,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } addr = SUBSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -5030,21 +4439,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = FLD (i_hdt_offset8); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -5068,21 +4468,12 @@ if (EQSI (FLD (f_rd), 15)) { offset = * FLD (i_rm); addr = * FLD (i_rn); if (EQSI (FLD (f_rd), 15)) { - { - USI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = EXTHISI (current_cpu->GETMEMHI (pc, addr)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, addr)); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = EXTHISI (current_cpu->GETMEMHI (pc, addr)); } addr = ADDSI (* FLD (i_rn), offset); - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -5103,20 +4494,11 @@ if (EQSI (FLD (f_rd), 15)) { { result = MULSI (* FLD (i_rm), * FLD (i_rs)); - { - SI opval = result; - * FLD (i_mul_rd) = opval; - } +* FLD (i_mul_rd) = result; if (FLD (f_set_cc_)) { { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } } } @@ -5136,20 +4518,11 @@ if (FLD (f_set_cc_)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, GET_ATTR (R15_OFFSET)); { - { - SI opval = ADDSI (MULSI (* FLD (i_rm), * FLD (i_rs)), * FLD (i_mul_rn)); - * FLD (i_mul_rd) = opval; - } +* FLD (i_mul_rd) = ADDSI (MULSI (* FLD (i_rm), * FLD (i_rs)), * FLD (i_mul_rn)); if (FLD (f_set_cc_)) { { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } } } @@ -5226,24 +4599,12 @@ if (FLD (f_set_cc_)) { { mul_result = JOINSIDI (* FLD (i_rdhi), * FLD (i_rdlo)); mul_result = ADDDI (MULDI (EXTSIDI (* FLD (i_rs)), EXTSIDI (* FLD (i_rm))), mul_result); - { - SI opval = SUBWORDDISI (mul_result, 0); - * FLD (i_rdhi) = opval; - } - { - SI opval = SUBWORDDISI (mul_result, 1); - * FLD (i_rdlo) = opval; - } +* FLD (i_rdhi) = SUBWORDDISI (mul_result, 0); +* FLD (i_rdlo) = SUBWORDDISI (mul_result, 1); if (FLD (f_set_cc_)) { { - { - BI opval = EQDI (mul_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTDI (mul_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQDI (mul_result, 0); +current_cpu->hardware.h_nbit = LTDI (mul_result, 0); } } } @@ -5264,14 +4625,8 @@ if (FLD (f_set_cc_)) { { temp = current_cpu->GETMEMSI (pc, * FLD (i_rn)); - { - SI opval = * FLD (i_rm); - current_cpu->SETMEMSI (pc, * FLD (i_rn), opval); - } - { - SI opval = temp; - * FLD (i_rd) = opval; - } +current_cpu->SETMEMSI (pc, * FLD (i_rn), * FLD (i_rm)); +* FLD (i_rd) = temp; } #undef FLD @@ -5290,14 +4645,8 @@ if (FLD (f_set_cc_)) { { temp = current_cpu->GETMEMQI (pc, * FLD (i_rn)); - { - QI opval = * FLD (i_rm); - current_cpu->SETMEMQI (pc, * FLD (i_rn), opval); - } - { - SI opval = temp; - * FLD (i_rd) = opval; - } +current_cpu->SETMEMQI (pc, * FLD (i_rn), * FLD (i_rm)); +* FLD (i_rd) = temp; } #undef FLD @@ -5316,10 +4665,7 @@ if (FLD (f_set_cc_)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, GET_ATTR (R15_OFFSET)); { - { - USI opval = current_cpu->arm_swi (pc, FLD (f_swi_comment)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->arm_swi (pc, FLD (f_swi_comment)); br_status = BRANCH_UNCACHEABLE; } pbb_br_npc = npc; @@ -5345,39 +4691,21 @@ if (FLD (f_set_cc_)) { result = ANDSI (* FLD (i_rn), operand2); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } - { - BI opval = carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = carry_out; } } } @@ -5654,39 +4982,21 @@ if (FLD (f_set_cc_)) { result = INVSI (operand2); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } - { - BI opval = carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = carry_out; } } } @@ -5714,33 +5024,18 @@ if (FLD (f_set_cc_)) { result = INVSI (FLD (f_imm12)); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } } } @@ -5766,45 +5061,24 @@ if (FLD (f_set_cc_)) { result = ADDSI (* FLD (i_rn), operand2); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = ADDCSI (temp_op1, temp_op2, 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (temp_op1, temp_op2, 0); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (temp_op1, temp_op2, 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (temp_op1, temp_op2, 0); +current_cpu->hardware.h_vbit = ADDOFSI (temp_op1, temp_op2, 0); } } } @@ -5830,45 +5104,24 @@ if (FLD (f_set_cc_)) { result = ADDSI (* FLD (i_rn), operand2); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = ADDCSI (temp_op1, temp_op2, 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (temp_op1, temp_op2, 0); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (temp_op1, temp_op2, 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (temp_op1, temp_op2, 0); +current_cpu->hardware.h_vbit = ADDOFSI (temp_op1, temp_op2, 0); } } } @@ -5897,15 +5150,9 @@ if (FLD (f_set_cc_)) { if (EQSI (FLD (f_rd), 15)) { { if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; } } else { { @@ -5914,29 +5161,14 @@ if (FLD (f_set_cc_)) { SI tmp_result; tmp_result = ADDCSI (* FLD (i_rn), FLD (f_imm12), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (* FLD (i_rn), FLD (f_imm12), 0); +current_cpu->hardware.h_vbit = ADDOFSI (* FLD (i_rn), FLD (f_imm12), 0); } } - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; } } } @@ -5960,45 +5192,24 @@ if (FLD (f_set_cc_)) { result = ADDCSI (* FLD (i_rn), operand2, current_cpu->hardware.h_cbit); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = ADDCSI (temp_op1, temp_op2, current_cpu->hardware.h_cbit); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (temp_op1, temp_op2, current_cpu->hardware.h_cbit); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (temp_op1, temp_op2, current_cpu->hardware.h_cbit); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (temp_op1, temp_op2, current_cpu->hardware.h_cbit); +current_cpu->hardware.h_vbit = ADDOFSI (temp_op1, temp_op2, current_cpu->hardware.h_cbit); } } } @@ -6024,45 +5235,24 @@ if (FLD (f_set_cc_)) { result = ADDCSI (* FLD (i_rn), operand2, current_cpu->hardware.h_cbit); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = ADDCSI (temp_op1, temp_op2, current_cpu->hardware.h_cbit); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (temp_op1, temp_op2, current_cpu->hardware.h_cbit); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (temp_op1, temp_op2, current_cpu->hardware.h_cbit); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (temp_op1, temp_op2, current_cpu->hardware.h_cbit); +current_cpu->hardware.h_vbit = ADDOFSI (temp_op1, temp_op2, current_cpu->hardware.h_cbit); } } } @@ -6091,15 +5281,9 @@ if (FLD (f_set_cc_)) { if (EQSI (FLD (f_rd), 15)) { { if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; } } else { { @@ -6108,29 +5292,14 @@ if (FLD (f_set_cc_)) { SI tmp_result; tmp_result = ADDCSI (* FLD (i_rn), FLD (f_imm12), current_cpu->hardware.h_cbit); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (* FLD (i_rn), FLD (f_imm12), current_cpu->hardware.h_cbit); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (* FLD (i_rn), FLD (f_imm12), current_cpu->hardware.h_cbit); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (* FLD (i_rn), FLD (f_imm12), current_cpu->hardware.h_cbit); +current_cpu->hardware.h_vbit = ADDOFSI (* FLD (i_rn), FLD (f_imm12), current_cpu->hardware.h_cbit); } } - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; } } } @@ -6154,45 +5323,24 @@ if (FLD (f_set_cc_)) { result = SUBSI (* FLD (i_rn), operand2); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = SUBCSI (temp_op1, temp_op2, 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (temp_op1, temp_op2, 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (temp_op1, temp_op2, 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (temp_op1, temp_op2, 0)); +current_cpu->hardware.h_vbit = SUBOFSI (temp_op1, temp_op2, 0); } } } @@ -6218,45 +5366,24 @@ if (FLD (f_set_cc_)) { result = SUBSI (* FLD (i_rn), operand2); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = SUBCSI (temp_op1, temp_op2, 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (temp_op1, temp_op2, 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (temp_op1, temp_op2, 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (temp_op1, temp_op2, 0)); +current_cpu->hardware.h_vbit = SUBOFSI (temp_op1, temp_op2, 0); } } } @@ -6285,15 +5412,9 @@ if (FLD (f_set_cc_)) { if (EQSI (FLD (f_rd), 15)) { { if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; } } else { { @@ -6302,29 +5423,14 @@ if (FLD (f_set_cc_)) { SI tmp_result; tmp_result = SUBCSI (* FLD (i_rn), FLD (f_imm12), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (* FLD (i_rn), FLD (f_imm12), 0); } } - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; } } } @@ -6348,45 +5454,24 @@ if (FLD (f_set_cc_)) { result = SUBCSI (* FLD (i_rn), operand2, NOTBI (current_cpu->hardware.h_cbit)); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = SUBCSI (temp_op1, temp_op2, NOTBI (current_cpu->hardware.h_cbit)); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (temp_op1, temp_op2, NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (temp_op1, temp_op2, NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (temp_op1, temp_op2, NOTBI (current_cpu->hardware.h_cbit))); +current_cpu->hardware.h_vbit = SUBOFSI (temp_op1, temp_op2, NOTBI (current_cpu->hardware.h_cbit)); } } } @@ -6412,45 +5497,24 @@ if (FLD (f_set_cc_)) { result = SUBCSI (* FLD (i_rn), operand2, NOTBI (current_cpu->hardware.h_cbit)); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = SUBCSI (temp_op1, temp_op2, NOTBI (current_cpu->hardware.h_cbit)); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (temp_op1, temp_op2, NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (temp_op1, temp_op2, NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (temp_op1, temp_op2, NOTBI (current_cpu->hardware.h_cbit))); +current_cpu->hardware.h_vbit = SUBOFSI (temp_op1, temp_op2, NOTBI (current_cpu->hardware.h_cbit)); } } } @@ -6479,15 +5543,9 @@ if (FLD (f_set_cc_)) { if (EQSI (FLD (f_rd), 15)) { { if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; } } else { { @@ -6496,29 +5554,14 @@ if (FLD (f_set_cc_)) { SI tmp_result; tmp_result = SUBCSI (* FLD (i_rn), FLD (f_imm12), NOTBI (current_cpu->hardware.h_cbit)); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (* FLD (i_rn), FLD (f_imm12), NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), NOTBI (current_cpu->hardware.h_cbit))); +current_cpu->hardware.h_vbit = SUBOFSI (* FLD (i_rn), FLD (f_imm12), NOTBI (current_cpu->hardware.h_cbit)); } } - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; } } } @@ -6542,45 +5585,24 @@ if (FLD (f_set_cc_)) { result = SUBSI (operand2, * FLD (i_rn)); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = SUBCSI (temp_op2, temp_op1, 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (temp_op2, temp_op1, 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (temp_op2, temp_op1, 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (temp_op2, temp_op1, 0)); +current_cpu->hardware.h_vbit = SUBOFSI (temp_op2, temp_op1, 0); } } } @@ -6606,45 +5628,24 @@ if (FLD (f_set_cc_)) { result = SUBSI (operand2, * FLD (i_rn)); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = SUBCSI (temp_op2, temp_op1, 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (temp_op2, temp_op1, 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (temp_op2, temp_op1, 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (temp_op2, temp_op1, 0)); +current_cpu->hardware.h_vbit = SUBOFSI (temp_op2, temp_op1, 0); } } } @@ -6673,15 +5674,9 @@ if (FLD (f_set_cc_)) { if (EQSI (FLD (f_rd), 15)) { { if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; } } else { { @@ -6690,29 +5685,14 @@ if (FLD (f_set_cc_)) { SI tmp_result; tmp_result = SUBCSI (FLD (f_imm12), * FLD (i_rn), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (FLD (f_imm12), * FLD (i_rn), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (FLD (f_imm12), * FLD (i_rn), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (FLD (f_imm12), * FLD (i_rn), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (FLD (f_imm12), * FLD (i_rn), 0); } } - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; } } } @@ -6736,45 +5716,24 @@ if (FLD (f_set_cc_)) { result = SUBCSI (operand2, * FLD (i_rn), NOTBI (current_cpu->hardware.h_cbit)); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = SUBCSI (temp_op2, temp_op1, NOTBI (current_cpu->hardware.h_cbit)); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (temp_op2, temp_op1, NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (temp_op2, temp_op1, NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (temp_op2, temp_op1, NOTBI (current_cpu->hardware.h_cbit))); +current_cpu->hardware.h_vbit = SUBOFSI (temp_op2, temp_op1, NOTBI (current_cpu->hardware.h_cbit)); } } } @@ -6800,45 +5759,24 @@ if (FLD (f_set_cc_)) { result = SUBCSI (operand2, * FLD (i_rn), NOTBI (current_cpu->hardware.h_cbit)); if (EQSI (FLD (f_rd), 15)) { { - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } else { { - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; if (FLD (f_set_cc_)) { { SI tmp_result; tmp_result = SUBCSI (temp_op2, temp_op1, NOTBI (current_cpu->hardware.h_cbit)); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (temp_op2, temp_op1, NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (temp_op2, temp_op1, NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (temp_op2, temp_op1, NOTBI (current_cpu->hardware.h_cbit))); +current_cpu->hardware.h_vbit = SUBOFSI (temp_op2, temp_op1, NOTBI (current_cpu->hardware.h_cbit)); } } } @@ -6867,15 +5805,9 @@ if (FLD (f_set_cc_)) { if (EQSI (FLD (f_rd), 15)) { { if (FLD (f_set_cc_)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } - { - USI opval = result; - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = result; br_status = BRANCH_UNCACHEABLE; } } else { { @@ -6884,29 +5816,14 @@ if (FLD (f_set_cc_)) { SI tmp_result; tmp_result = SUBCSI (FLD (f_imm12), * FLD (i_rn), NOTBI (current_cpu->hardware.h_cbit)); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (FLD (f_imm12), * FLD (i_rn), NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (FLD (f_imm12), * FLD (i_rn), NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (FLD (f_imm12), * FLD (i_rn), NOTBI (current_cpu->hardware.h_cbit))); +current_cpu->hardware.h_vbit = SUBOFSI (FLD (f_imm12), * FLD (i_rn), NOTBI (current_cpu->hardware.h_cbit)); } } - { - SI opval = result; - * FLD (i_rd) = opval; - } +* FLD (i_rd) = result; } } } @@ -6927,26 +5844,14 @@ if (FLD (f_set_cc_)) { { result = ANDSI (* FLD (i_rn), operand2); if (EQSI (FLD (f_rd), 15)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } else { { { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } - { - BI opval = carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = carry_out; } } } @@ -6988,19 +5893,10 @@ if (EQSI (FLD (f_ror_imm8_rotate), 0)) { } { { - { - BI opval = EQSI (ANDSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (ANDSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (ANDSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); +current_cpu->hardware.h_nbit = LTSI (ANDSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); } - { - BI opval = carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = carry_out; } } @@ -7033,26 +5929,14 @@ if (EQSI (FLD (f_ror_imm8_rotate), 0)) { { result = XORSI (* FLD (i_rn), operand2); if (EQSI (FLD (f_rd), 15)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } else { { { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } - { - BI opval = carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = carry_out; } } } @@ -7079,19 +5963,10 @@ if (EQSI (FLD (f_ror_imm8_rotate), 0)) { } { { - { - BI opval = EQSI (XORSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (XORSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (XORSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); +current_cpu->hardware.h_nbit = LTSI (XORSI (* FLD (i_rn), FLD (f_ror_imm8)), 0); } - { - BI opval = carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = carry_out; } } @@ -7108,32 +5983,17 @@ if (EQSI (FLD (f_ror_imm8_rotate), 0)) { { if (EQSI (FLD (f_rd), 15)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } else { { SI tmp_result; tmp_result = SUBCSI (* FLD (i_rn), operand2, 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (* FLD (i_rn), operand2, 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (* FLD (i_rn), operand2, 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (* FLD (i_rn), operand2, 0)); +current_cpu->hardware.h_vbit = SUBOFSI (* FLD (i_rn), operand2, 0); } } } @@ -7151,32 +6011,17 @@ if (EQSI (FLD (f_rd), 15)) { { if (EQSI (FLD (f_rd), 15)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } else { { SI tmp_result; tmp_result = SUBCSI (* FLD (i_rn), operand2, 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (* FLD (i_rn), operand2, 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (* FLD (i_rn), operand2, 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (* FLD (i_rn), operand2, 0)); +current_cpu->hardware.h_vbit = SUBOFSI (* FLD (i_rn), operand2, 0); } } } @@ -7198,23 +6043,11 @@ if (EQSI (FLD (f_rd), 15)) { { result = SUBCSI (* FLD (i_rn), FLD (f_imm12), 0); { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } - { - BI opval = NOTSI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (* FLD (i_rn), FLD (f_imm12), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (* FLD (i_rn), FLD (f_imm12), 0); } #undef FLD @@ -7234,32 +6067,17 @@ if (EQSI (FLD (f_rd), 15)) { { operand2 = current_cpu->compute_operand2_immshift (* FLD (i_rm), FLD (f_operand2_shifttype), FLD (f_operand2_shiftimm)); if (EQSI (FLD (f_rd), 15)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } else { { SI tmp_result; tmp_result = ADDCSI (* FLD (i_rn), operand2, 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (* FLD (i_rn), operand2, 0); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (* FLD (i_rn), operand2, 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (* FLD (i_rn), operand2, 0); +current_cpu->hardware.h_vbit = ADDOFSI (* FLD (i_rn), operand2, 0); } } } @@ -7281,32 +6099,17 @@ if (EQSI (FLD (f_rd), 15)) { { operand2 = current_cpu->compute_operand2_regshift (* FLD (i_rm), FLD (f_operand2_shifttype), * FLD (i_operand2_shiftreg)); if (EQSI (FLD (f_rd), 15)) { - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } else { { SI tmp_result; tmp_result = ADDCSI (* FLD (i_rn), operand2, 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (* FLD (i_rn), operand2, 0); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (* FLD (i_rn), operand2, 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (* FLD (i_rn), operand2, 0); +current_cpu->hardware.h_vbit = ADDOFSI (* FLD (i_rn), operand2, 0); } } } @@ -7328,23 +6131,11 @@ if (EQSI (FLD (f_rd), 15)) { { result = ADDCSI (* FLD (i_rn), FLD (f_imm12), 0); { - { - BI opval = EQSI (result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (result, 0); +current_cpu->hardware.h_nbit = LTSI (result, 0); } - { - BI opval = ADDCFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (* FLD (i_rn), FLD (f_imm12), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (* FLD (i_rn), FLD (f_imm12), 0); +current_cpu->hardware.h_vbit = ADDOFSI (* FLD (i_rn), FLD (f_imm12), 0); } #undef FLD @@ -7366,145 +6157,97 @@ if (EQSI (FLD (f_rd), 15)) { addr = * FLD (i_rn); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } @@ -7531,29 +6274,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { addr = * FLD (i_rn); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; addr = SUBSI (addr, 4); - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -7561,15 +6292,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -7577,15 +6302,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -7593,15 +6312,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -7609,15 +6322,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -7625,15 +6332,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -7641,88 +6342,58 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } @@ -7749,152 +6420,101 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { addr = * FLD (i_rn); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -7918,29 +6538,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { addr = * FLD (i_rn); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; addr = SUBSI (addr, 4); - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -7948,15 +6556,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -7964,15 +6566,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -7980,15 +6576,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -7996,15 +6586,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -8012,15 +6596,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } @@ -8028,95 +6606,62 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); addr = SUBSI (addr, 4); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -8141,145 +6686,97 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = ADDSI (addr, 4); - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } } } @@ -8302,15 +6799,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8318,15 +6809,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8334,15 +6819,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8350,15 +6829,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8366,15 +6839,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8382,15 +6849,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8398,29 +6859,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = current_cpu->GETMEMSI (pc, addr); } } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = ADDSI (addr, 4); - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } @@ -8442,79 +6891,52 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = ADDSI (addr, 4); - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -8539,88 +6961,58 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8628,15 +7020,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8644,15 +7030,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8660,15 +7040,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8676,15 +7050,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8692,15 +7060,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -8708,35 +7070,20 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = current_cpu->GETMEMSI (pc, addr); } } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = ADDSI (addr, 4); - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -8760,145 +7107,97 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { addr = * FLD (i_rn); if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; addr = ADDSI (addr, 4); } } @@ -8921,15 +7220,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -8937,15 +7230,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -8953,15 +7240,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -8969,15 +7250,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -8985,15 +7260,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -9001,15 +7270,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -9017,30 +7280,18 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; addr = ADDSI (addr, 4); - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } } @@ -9061,80 +7312,53 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; addr = ADDSI (addr, 4); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -9158,88 +7382,58 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { addr = * FLD (i_rn); if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -9247,15 +7441,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -9263,15 +7451,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -9279,15 +7461,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -9295,15 +7471,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -9311,15 +7481,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } @@ -9327,36 +7491,21 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = current_cpu->GETMEMSI (pc, addr); } addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; addr = ADDSI (addr, 4); - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -9381,145 +7530,97 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = SUBSI (addr, 4); - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9546,29 +7647,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = SUBSI (addr, 4); - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9576,15 +7665,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9592,15 +7675,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9608,15 +7685,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9624,15 +7695,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9640,15 +7705,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9656,88 +7715,58 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = current_cpu->GETMEMSI (pc, addr); } } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9764,151 +7793,100 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = SUBSI (addr, 4); - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -9933,29 +7911,17 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = SUBSI (addr, 4); - { - USI opval = current_cpu->GETMEMSI (pc, addr); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } - { - SI opval = current_cpu->h_spsr_get (); - current_cpu->h_cpsr_set (opval); - } +npc = current_cpu->GETMEMSI (pc, addr); br_status = BRANCH_UNCACHEABLE; +current_cpu->h_cpsr_set (current_cpu->h_spsr_get ()); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 14)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 14)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (14, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9963,15 +7929,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 13)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 13)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (13, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9979,15 +7939,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 12)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 12)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (12, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -9995,15 +7949,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 11)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 11)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (11, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -10011,15 +7959,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 10)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 10)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (10, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -10027,15 +7969,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 9)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 9)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (9, 8)] = current_cpu->GETMEMSI (pc, addr); } } } @@ -10043,94 +7979,61 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 8)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 8)] = current_cpu->GETMEMSI (pc, addr); } else { - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = opval; - } +current_cpu->hardware.h_gr_usr[SUBSI (8, 8)] = current_cpu->GETMEMSI (pc, addr); } } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 7)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 7)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 6)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 6)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 5)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 5)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 4)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 4)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 3)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 3)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 2)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 2)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 1)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 1)] = current_cpu->GETMEMSI (pc, addr); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->GETMEMSI (pc, addr); - current_cpu->hardware.h_gr[((UINT) 0)] = opval; - } +current_cpu->hardware.h_gr[((UINT) 0)] = current_cpu->GETMEMSI (pc, addr); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } pbb_br_npc = npc; @@ -10154,145 +8057,97 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = SUBSI (addr, 4); - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); } } } @@ -10313,15 +8168,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]); } } } @@ -10329,15 +8178,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]); } } } @@ -10345,15 +8188,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]); } } } @@ -10361,15 +8198,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]); } } } @@ -10377,15 +8208,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]); } } } @@ -10393,15 +8218,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]); } } } @@ -10409,88 +8228,58 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]); } } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); } } } @@ -10510,142 +8299,94 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -10667,25 +8408,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = SUBSI (addr, 4); - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]); } } } @@ -10693,15 +8425,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]); } } } @@ -10709,15 +8435,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]); } } } @@ -10725,15 +8445,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]); } } } @@ -10741,15 +8455,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]); } } } @@ -10757,15 +8465,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]); } } } @@ -10773,94 +8475,61 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = SUBSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]); } } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = SUBSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -10882,145 +8551,97 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = ADDSI (addr, 4); - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); } } } @@ -11041,15 +8662,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]); } } } @@ -11057,15 +8672,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]); } } } @@ -11073,15 +8682,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]); } } } @@ -11089,15 +8692,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]); } } } @@ -11105,15 +8702,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]); } } } @@ -11121,15 +8712,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]); } } } @@ -11137,25 +8722,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]); } } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = ADDSI (addr, 4); - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); } } } @@ -11175,79 +8751,52 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = ADDSI (addr, 4); - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -11269,88 +8818,58 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { addr = ADDSI (addr, 4); - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]); } } } @@ -11358,15 +8877,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]); } } } @@ -11374,15 +8887,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]); } } } @@ -11390,15 +8897,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]); } } } @@ -11406,15 +8907,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]); } } } @@ -11422,15 +8917,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]); } } } @@ -11438,31 +8927,19 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { addr = ADDSI (addr, 4); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]); } } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { addr = ADDSI (addr, 4); - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -11483,145 +8960,97 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { addr = * FLD (i_rn); if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); addr = ADDSI (addr, 4); } } @@ -11642,15 +9071,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]); } addr = ADDSI (addr, 4); } @@ -11658,15 +9081,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]); } addr = ADDSI (addr, 4); } @@ -11674,15 +9091,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]); } addr = ADDSI (addr, 4); } @@ -11690,15 +9101,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]); } addr = ADDSI (addr, 4); } @@ -11706,15 +9111,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]); } addr = ADDSI (addr, 4); } @@ -11722,15 +9121,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]); } addr = ADDSI (addr, 4); } @@ -11738,25 +9131,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]); } addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); addr = ADDSI (addr, 4); } } @@ -11776,80 +9160,53 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); addr = ADDSI (addr, 4); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -11870,88 +9227,58 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { addr = * FLD (i_rn); if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]); } addr = ADDSI (addr, 4); } @@ -11959,15 +9286,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]); } addr = ADDSI (addr, 4); } @@ -11975,15 +9296,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]); } addr = ADDSI (addr, 4); } @@ -11991,15 +9306,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]); } addr = ADDSI (addr, 4); } @@ -12007,15 +9316,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]); } addr = ADDSI (addr, 4); } @@ -12023,15 +9326,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]); } addr = ADDSI (addr, 4); } @@ -12039,32 +9336,20 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]); } addr = ADDSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); addr = ADDSI (addr, 4); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -12085,145 +9370,97 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { addr = * FLD (i_rn); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); addr = SUBSI (addr, 4); } } @@ -12244,15 +9481,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]); } addr = SUBSI (addr, 4); } @@ -12260,15 +9491,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]); } addr = SUBSI (addr, 4); } @@ -12276,15 +9501,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]); } addr = SUBSI (addr, 4); } @@ -12292,15 +9511,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]); } addr = SUBSI (addr, 4); } @@ -12308,15 +9521,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]); } addr = SUBSI (addr, 4); } @@ -12324,15 +9531,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]); } addr = SUBSI (addr, 4); } @@ -12340,88 +9541,58 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]); } addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); addr = SUBSI (addr, 4); } } @@ -12441,143 +9612,95 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); addr = SUBSI (addr, 4); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -12598,25 +9721,16 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { addr = * FLD (i_rn); if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { { - { - SI opval = ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4); - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, ADDSI (current_cpu->hardware.h_gr[((UINT) 15)], 4)); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 14))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 14)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 14)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (14, 8)]); } addr = SUBSI (addr, 4); } @@ -12624,15 +9738,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 13))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 13)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 13)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (13, 8)]); } addr = SUBSI (addr, 4); } @@ -12640,15 +9748,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 12))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 12)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 12)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (12, 8)]); } addr = SUBSI (addr, 4); } @@ -12656,15 +9758,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 11))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 11)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 11)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (11, 8)]); } addr = SUBSI (addr, 4); } @@ -12672,15 +9768,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 10))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 10)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 10)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (10, 8)]); } addr = SUBSI (addr, 4); } @@ -12688,15 +9778,9 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 9))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 9)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 9)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (9, 8)]); } addr = SUBSI (addr, 4); } @@ -12704,95 +9788,62 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { if (ANDSI (FLD (f_reg_list), SLLSI (1, 8))) { { if (ANDSI (FLD (f_reg_list), SLLSI (1, 15))) { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 8)]); } else { - { - SI opval = current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr_usr[SUBSI (8, 8)]); } addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 7))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 7)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 7)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 6))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 6)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 6)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 5))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 5)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 5)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 4))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 4)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 4)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 3))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 3)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 3)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 2))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 2)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 2)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 1))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 1)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 1)]); addr = SUBSI (addr, 4); } } if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { { - { - SI opval = current_cpu->hardware.h_gr[((UINT) 0)]; - current_cpu->SETMEMSI (pc, addr, opval); - } +current_cpu->SETMEMSI (pc, addr, current_cpu->hardware.h_gr[((UINT) 0)]); addr = SUBSI (addr, 4); } } - { - SI opval = addr; - * FLD (i_rn) = opval; - } +* FLD (i_rn) = addr; } #undef FLD @@ -12810,10 +9861,7 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, GET_ATTR (R15_OFFSET)); { - { - SI opval = current_cpu->h_cpsr_get (); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->h_cpsr_get (); } #undef FLD @@ -12831,10 +9879,7 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, GET_ATTR (R15_OFFSET)); { - { - SI opval = current_cpu->h_spsr_get (); - * FLD (i_rd) = opval; - } +* FLD (i_rd) = current_cpu->h_spsr_get (); } #undef FLD @@ -12852,10 +9897,7 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, GET_ATTR (R15_OFFSET)); { - { - SI opval = * FLD (i_rm); - current_cpu->h_cpsr_set (opval); - } +current_cpu->h_cpsr_set (* FLD (i_rm)); } #undef FLD @@ -12873,10 +9915,7 @@ if (ANDSI (FLD (f_reg_list), SLLSI (1, 0))) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, GET_ATTR (R15_OFFSET)); { - { - SI opval = * FLD (i_rm); - current_cpu->h_spsr_set (opval); - } +current_cpu->h_spsr_set (* FLD (i_rm)); } #undef FLD diff --git a/sid/component/cgen-cpu/arm7t/thumb-decode.cxx b/sid/component/cgen-cpu/arm7t/thumb-decode.cxx index ad90d8ee09..d2bb7c4b5b 100644 --- a/sid/component/cgen-cpu/arm7t/thumb-decode.cxx +++ b/sid/component/cgen-cpu/arm7t/thumb-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -27,95 +27,95 @@ bool thumb_idesc::idesc_table_initialized_p = false; thumb_idesc thumb_idesc::idesc_table[THUMB_INSN_BL_LO + 1] = { - { 0, 0, "X_AFTER", THUMB_INSN_X_AFTER, { 0|(1<> 16; thumb_extract_sfmt_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 7 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LSL; thumb_extract_sfmt_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : /* fall through */ case 9 : /* fall through */ case 10 : /* fall through */ @@ -288,7 +290,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 12 : /* fall through */ case 13 : /* fall through */ case 14 : /* fall through */ - case 15 : itype = THUMB_INSN_LSR; entire_insn = base_insn >> 16; thumb_extract_sfmt_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 15 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LSR; thumb_extract_sfmt_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 17 : /* fall through */ case 18 : /* fall through */ @@ -296,15 +300,25 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 20 : /* fall through */ case 21 : /* fall through */ case 22 : /* fall through */ - case 23 : itype = THUMB_INSN_ASR; entire_insn = base_insn >> 16; thumb_extract_sfmt_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 23 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ASR; thumb_extract_sfmt_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : /* fall through */ - case 25 : itype = THUMB_INSN_ADD; entire_insn = base_insn >> 16; thumb_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 25 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ADD; thumb_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 26 : /* fall through */ - case 27 : itype = THUMB_INSN_SUB; entire_insn = base_insn >> 16; thumb_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 27 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_SUB; thumb_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 28 : /* fall through */ - case 29 : itype = THUMB_INSN_ADDI; entire_insn = base_insn >> 16; thumb_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 29 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ADDI; thumb_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 30 : /* fall through */ - case 31 : itype = THUMB_INSN_SUBI; entire_insn = base_insn >> 16; thumb_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 31 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_SUBI; thumb_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 32 : /* fall through */ case 33 : /* fall through */ case 34 : /* fall through */ @@ -312,7 +326,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 36 : /* fall through */ case 37 : /* fall through */ case 38 : /* fall through */ - case 39 : itype = THUMB_INSN_MOV; entire_insn = base_insn >> 16; thumb_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 39 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_MOV; thumb_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done; case 40 : /* fall through */ case 41 : /* fall through */ case 42 : /* fall through */ @@ -320,7 +336,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 44 : /* fall through */ case 45 : /* fall through */ case 46 : /* fall through */ - case 47 : itype = THUMB_INSN_CMP; entire_insn = base_insn >> 16; thumb_extract_sfmt_cmp (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 47 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_CMP; thumb_extract_sfmt_cmp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 48 : /* fall through */ case 49 : /* fall through */ case 50 : /* fall through */ @@ -328,7 +346,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 52 : /* fall through */ case 53 : /* fall through */ case 54 : /* fall through */ - case 55 : itype = THUMB_INSN_ADDI8; entire_insn = base_insn >> 16; thumb_extract_sfmt_addi8 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 55 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ADDI8; thumb_extract_sfmt_addi8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 56 : /* fall through */ case 57 : /* fall through */ case 58 : /* fall through */ @@ -336,17 +356,27 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 60 : /* fall through */ case 61 : /* fall through */ case 62 : /* fall through */ - case 63 : itype = THUMB_INSN_SUBI8; entire_insn = base_insn >> 16; thumb_extract_sfmt_addi8 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 63 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_SUBI8; thumb_extract_sfmt_addi8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 64 : { unsigned int val = (((insn >> 6) & (3 << 0))); switch (val) { - case 0 : itype = THUMB_INSN_ALU_AND; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = THUMB_INSN_ALU_EOR; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : itype = THUMB_INSN_ALU_LSL; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : itype = THUMB_INSN_ALU_LSR; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_AND; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_EOR; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_LSL; thumb_extract_sfmt_alu_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_LSR; thumb_extract_sfmt_alu_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 65 : @@ -354,11 +384,19 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in unsigned int val = (((insn >> 6) & (3 << 0))); switch (val) { - case 0 : itype = THUMB_INSN_ALU_ASR; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = THUMB_INSN_ALU_ADC; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_adc (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : itype = THUMB_INSN_ALU_SBC; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_adc (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : itype = THUMB_INSN_ALU_ROR; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_ASR; thumb_extract_sfmt_alu_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_ADC; thumb_extract_sfmt_alu_adc (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_SBC; thumb_extract_sfmt_alu_adc (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_ROR; thumb_extract_sfmt_alu_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 66 : @@ -366,11 +404,19 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in unsigned int val = (((insn >> 6) & (3 << 0))); switch (val) { - case 0 : itype = THUMB_INSN_ALU_TST; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_tst (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = THUMB_INSN_ALU_NEG; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_neg (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : itype = THUMB_INSN_ALU_CMP; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_cmp (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : itype = THUMB_INSN_ALU_CMN; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_cmp (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_TST; thumb_extract_sfmt_alu_tst (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_NEG; thumb_extract_sfmt_alu_neg (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_CMP; thumb_extract_sfmt_alu_cmp (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_CMN; thumb_extract_sfmt_alu_cmp (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 67 : @@ -378,11 +424,19 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in unsigned int val = (((insn >> 6) & (3 << 0))); switch (val) { - case 0 : itype = THUMB_INSN_ALU_ORR; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = THUMB_INSN_ALU_MUL; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : itype = THUMB_INSN_ALU_BIC; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : itype = THUMB_INSN_ALU_MVN; entire_insn = base_insn >> 16; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_ORR; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_MUL; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_BIC; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ALU_MVN; thumb_extract_sfmt_alu_and (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 68 : @@ -390,10 +444,16 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in unsigned int val = (((insn >> 6) & (3 << 0))); switch (val) { - case 1 : itype = THUMB_INSN_ADD_RD_HS; entire_insn = base_insn >> 16; thumb_extract_sfmt_add_rd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : itype = THUMB_INSN_ADD_HD_RS; entire_insn = base_insn >> 16; thumb_extract_sfmt_add_hd_rs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : itype = THUMB_INSN_ADD_HD_HS; entire_insn = base_insn >> 16; thumb_extract_sfmt_add_hd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ADD_RD_HS; thumb_extract_sfmt_add_rd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ADD_HD_RS; thumb_extract_sfmt_add_hd_rs (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ADD_HD_HS; thumb_extract_sfmt_add_hd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 69 : @@ -401,10 +461,16 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in unsigned int val = (((insn >> 6) & (3 << 0))); switch (val) { - case 1 : itype = THUMB_INSN_CMP_RD_HS; entire_insn = base_insn >> 16; thumb_extract_sfmt_cmp_rd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : itype = THUMB_INSN_CMP_HD_RS; entire_insn = base_insn >> 16; thumb_extract_sfmt_cmp_hd_rs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : itype = THUMB_INSN_CMP_HD_HS; entire_insn = base_insn >> 16; thumb_extract_sfmt_cmp_hd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_CMP_RD_HS; thumb_extract_sfmt_cmp_rd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_CMP_HD_RS; thumb_extract_sfmt_cmp_hd_rs (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_CMP_HD_HS; thumb_extract_sfmt_cmp_hd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 70 : @@ -412,10 +478,16 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in unsigned int val = (((insn >> 6) & (3 << 0))); switch (val) { - case 1 : itype = THUMB_INSN_MOV_RD_HS; entire_insn = base_insn >> 16; thumb_extract_sfmt_mov_rd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : itype = THUMB_INSN_MOV_HD_RS; entire_insn = base_insn >> 16; thumb_extract_sfmt_mov_hd_rs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : itype = THUMB_INSN_MOV_HD_HS; entire_insn = base_insn >> 16; thumb_extract_sfmt_mov_hd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_MOV_RD_HS; thumb_extract_sfmt_mov_rd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_MOV_HD_RS; thumb_extract_sfmt_mov_hd_rs (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_MOV_HD_HS; thumb_extract_sfmt_mov_hd_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 71 : @@ -423,9 +495,17 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in unsigned int val = (((insn >> 6) & (1 << 0))); switch (val) { - case 0 : itype = THUMB_INSN_BX_RS; entire_insn = base_insn >> 16; thumb_extract_sfmt_bx_rs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = THUMB_INSN_BX_HS; entire_insn = base_insn >> 16; thumb_extract_sfmt_bx_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + entire_insn = entire_insn >> 16; + if ((entire_insn & 0xffc7) == 0x4700) + { itype = THUMB_INSN_BX_RS; thumb_extract_sfmt_bx_rs (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + entire_insn = entire_insn >> 16; + if ((entire_insn & 0xffc7) == 0x4740) + { itype = THUMB_INSN_BX_HS; thumb_extract_sfmt_bx_hs (this, current_cpu, pc, base_insn, entire_insn); goto done; } + itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 72 : /* fall through */ @@ -435,23 +515,41 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 76 : /* fall through */ case 77 : /* fall through */ case 78 : /* fall through */ - case 79 : itype = THUMB_INSN_LDR_PC; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldr_pc (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 79 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDR_PC; thumb_extract_sfmt_ldr_pc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 80 : /* fall through */ - case 81 : itype = THUMB_INSN_STR; entire_insn = base_insn >> 16; thumb_extract_sfmt_str (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 81 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_STR; thumb_extract_sfmt_str (this, current_cpu, pc, base_insn, entire_insn); goto done; case 82 : /* fall through */ - case 83 : itype = THUMB_INSN_STRH; entire_insn = base_insn >> 16; thumb_extract_sfmt_strh (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 83 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_STRH; thumb_extract_sfmt_strh (this, current_cpu, pc, base_insn, entire_insn); goto done; case 84 : /* fall through */ - case 85 : itype = THUMB_INSN_STRB; entire_insn = base_insn >> 16; thumb_extract_sfmt_strb (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 85 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_STRB; thumb_extract_sfmt_strb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 86 : /* fall through */ - case 87 : itype = THUMB_INSN_LDSB; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldrb (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 87 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDSB; thumb_extract_sfmt_ldrb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 88 : /* fall through */ - case 89 : itype = THUMB_INSN_LDR; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldr (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 89 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDR; thumb_extract_sfmt_ldr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 90 : /* fall through */ - case 91 : itype = THUMB_INSN_LDRH; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldrh (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 91 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDRH; thumb_extract_sfmt_ldrh (this, current_cpu, pc, base_insn, entire_insn); goto done; case 92 : /* fall through */ - case 93 : itype = THUMB_INSN_LDRB; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldrb (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 93 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDRB; thumb_extract_sfmt_ldrb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 94 : /* fall through */ - case 95 : itype = THUMB_INSN_LDSH; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldrh (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 95 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDSH; thumb_extract_sfmt_ldrh (this, current_cpu, pc, base_insn, entire_insn); goto done; case 96 : /* fall through */ case 97 : /* fall through */ case 98 : /* fall through */ @@ -459,7 +557,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 100 : /* fall through */ case 101 : /* fall through */ case 102 : /* fall through */ - case 103 : itype = THUMB_INSN_STR_IMM; entire_insn = base_insn >> 16; thumb_extract_sfmt_str_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 103 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_STR_IMM; thumb_extract_sfmt_str_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 104 : /* fall through */ case 105 : /* fall through */ case 106 : /* fall through */ @@ -467,7 +567,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 108 : /* fall through */ case 109 : /* fall through */ case 110 : /* fall through */ - case 111 : itype = THUMB_INSN_LDR_IMM; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldr_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 111 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDR_IMM; thumb_extract_sfmt_ldr_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 112 : /* fall through */ case 113 : /* fall through */ case 114 : /* fall through */ @@ -475,7 +577,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 116 : /* fall through */ case 117 : /* fall through */ case 118 : /* fall through */ - case 119 : itype = THUMB_INSN_STRB_IMM; entire_insn = base_insn >> 16; thumb_extract_sfmt_strb_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 119 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_STRB_IMM; thumb_extract_sfmt_strb_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 120 : /* fall through */ case 121 : /* fall through */ case 122 : /* fall through */ @@ -483,7 +587,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 124 : /* fall through */ case 125 : /* fall through */ case 126 : /* fall through */ - case 127 : itype = THUMB_INSN_LDRB_IMM; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldrb_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 127 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDRB_IMM; thumb_extract_sfmt_ldrb_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 128 : /* fall through */ case 129 : /* fall through */ case 130 : /* fall through */ @@ -491,7 +597,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 132 : /* fall through */ case 133 : /* fall through */ case 134 : /* fall through */ - case 135 : itype = THUMB_INSN_STRH_IMM; entire_insn = base_insn >> 16; thumb_extract_sfmt_strh_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 135 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_STRH_IMM; thumb_extract_sfmt_strh_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 136 : /* fall through */ case 137 : /* fall through */ case 138 : /* fall through */ @@ -499,7 +607,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 140 : /* fall through */ case 141 : /* fall through */ case 142 : /* fall through */ - case 143 : itype = THUMB_INSN_LDRH_IMM; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldrh_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 143 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDRH_IMM; thumb_extract_sfmt_ldrh_imm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 144 : /* fall through */ case 145 : /* fall through */ case 146 : /* fall through */ @@ -507,7 +617,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 148 : /* fall through */ case 149 : /* fall through */ case 150 : /* fall through */ - case 151 : itype = THUMB_INSN_STR_SPREL; entire_insn = base_insn >> 16; thumb_extract_sfmt_str_sprel (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 151 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_STR_SPREL; thumb_extract_sfmt_str_sprel (this, current_cpu, pc, base_insn, entire_insn); goto done; case 152 : /* fall through */ case 153 : /* fall through */ case 154 : /* fall through */ @@ -515,7 +627,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 156 : /* fall through */ case 157 : /* fall through */ case 158 : /* fall through */ - case 159 : itype = THUMB_INSN_LDR_SPREL; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldr_sprel (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 159 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDR_SPREL; thumb_extract_sfmt_ldr_sprel (this, current_cpu, pc, base_insn, entire_insn); goto done; case 160 : /* fall through */ case 161 : /* fall through */ case 162 : /* fall through */ @@ -523,7 +637,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 164 : /* fall through */ case 165 : /* fall through */ case 166 : /* fall through */ - case 167 : itype = THUMB_INSN_LDA_PC; entire_insn = base_insn >> 16; thumb_extract_sfmt_lda_pc (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 167 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDA_PC; thumb_extract_sfmt_lda_pc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 168 : /* fall through */ case 169 : /* fall through */ case 170 : /* fall through */ @@ -531,21 +647,35 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 172 : /* fall through */ case 173 : /* fall through */ case 174 : /* fall through */ - case 175 : itype = THUMB_INSN_LDA_SP; entire_insn = base_insn >> 16; thumb_extract_sfmt_lda_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 175 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDA_SP; thumb_extract_sfmt_lda_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 176 : { unsigned int val = (((insn >> 7) & (1 << 0))); switch (val) { - case 0 : itype = THUMB_INSN_ADD_SP; entire_insn = base_insn >> 16; thumb_extract_sfmt_add_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : itype = THUMB_INSN_SUB_SP; entire_insn = base_insn >> 16; thumb_extract_sfmt_add_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_ADD_SP; thumb_extract_sfmt_add_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_SUB_SP; thumb_extract_sfmt_add_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } - case 180 : itype = THUMB_INSN_PUSH; entire_insn = base_insn >> 16; thumb_extract_sfmt_push (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 181 : itype = THUMB_INSN_PUSH_LR; entire_insn = base_insn >> 16; thumb_extract_sfmt_push_lr (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 188 : itype = THUMB_INSN_POP; entire_insn = base_insn >> 16; thumb_extract_sfmt_pop (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 189 : itype = THUMB_INSN_POP_PC; entire_insn = base_insn >> 16; thumb_extract_sfmt_pop_pc (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 180 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_PUSH; thumb_extract_sfmt_push (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 181 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_PUSH_LR; thumb_extract_sfmt_push_lr (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 188 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_POP; thumb_extract_sfmt_pop (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 189 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_POP_PC; thumb_extract_sfmt_pop_pc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 192 : /* fall through */ case 193 : /* fall through */ case 194 : /* fall through */ @@ -553,7 +683,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 196 : /* fall through */ case 197 : /* fall through */ case 198 : /* fall through */ - case 199 : itype = THUMB_INSN_STMIA; entire_insn = base_insn >> 16; thumb_extract_sfmt_stmia (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 199 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_STMIA; thumb_extract_sfmt_stmia (this, current_cpu, pc, base_insn, entire_insn); goto done; case 200 : /* fall through */ case 201 : /* fall through */ case 202 : /* fall through */ @@ -561,22 +693,54 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 204 : /* fall through */ case 205 : /* fall through */ case 206 : /* fall through */ - case 207 : itype = THUMB_INSN_LDMIA; entire_insn = base_insn >> 16; thumb_extract_sfmt_ldmia (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 208 : itype = THUMB_INSN_BEQ; entire_insn = base_insn >> 16; thumb_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 209 : itype = THUMB_INSN_BNE; entire_insn = base_insn >> 16; thumb_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 210 : itype = THUMB_INSN_BCS; entire_insn = base_insn >> 16; thumb_extract_sfmt_bcs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 211 : itype = THUMB_INSN_BCC; entire_insn = base_insn >> 16; thumb_extract_sfmt_bcs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 212 : itype = THUMB_INSN_BMI; entire_insn = base_insn >> 16; thumb_extract_sfmt_bmi (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 213 : itype = THUMB_INSN_BPL; entire_insn = base_insn >> 16; thumb_extract_sfmt_bmi (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 214 : itype = THUMB_INSN_BVS; entire_insn = base_insn >> 16; thumb_extract_sfmt_bvs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 215 : itype = THUMB_INSN_BVC; entire_insn = base_insn >> 16; thumb_extract_sfmt_bvs (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 216 : itype = THUMB_INSN_BHI; entire_insn = base_insn >> 16; thumb_extract_sfmt_bhi (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 217 : itype = THUMB_INSN_BLS; entire_insn = base_insn >> 16; thumb_extract_sfmt_bhi (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 218 : itype = THUMB_INSN_BGE; entire_insn = base_insn >> 16; thumb_extract_sfmt_bge (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 219 : itype = THUMB_INSN_BLT; entire_insn = base_insn >> 16; thumb_extract_sfmt_bge (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 220 : itype = THUMB_INSN_BGT; entire_insn = base_insn >> 16; thumb_extract_sfmt_bgt (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 221 : itype = THUMB_INSN_BLE; entire_insn = base_insn >> 16; thumb_extract_sfmt_bgt (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 223 : itype = THUMB_INSN_SWI; entire_insn = base_insn >> 16; thumb_extract_sfmt_swi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 207 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_LDMIA; thumb_extract_sfmt_ldmia (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 208 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BEQ; thumb_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 209 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BNE; thumb_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 210 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BCS; thumb_extract_sfmt_bcs (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 211 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BCC; thumb_extract_sfmt_bcs (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 212 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BMI; thumb_extract_sfmt_bmi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 213 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BPL; thumb_extract_sfmt_bmi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 214 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BVS; thumb_extract_sfmt_bvs (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 215 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BVC; thumb_extract_sfmt_bvs (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 216 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BHI; thumb_extract_sfmt_bhi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 217 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BLS; thumb_extract_sfmt_bhi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 218 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BGE; thumb_extract_sfmt_bge (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 219 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BLT; thumb_extract_sfmt_bge (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 220 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BGT; thumb_extract_sfmt_bgt (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 221 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BLE; thumb_extract_sfmt_bgt (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 223 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_SWI; thumb_extract_sfmt_swi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 224 : /* fall through */ case 225 : /* fall through */ case 226 : /* fall through */ @@ -584,7 +748,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 228 : /* fall through */ case 229 : /* fall through */ case 230 : /* fall through */ - case 231 : itype = THUMB_INSN_B; entire_insn = base_insn >> 16; thumb_extract_sfmt_b (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 231 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_B; thumb_extract_sfmt_b (this, current_cpu, pc, base_insn, entire_insn); goto done; case 240 : /* fall through */ case 241 : /* fall through */ case 242 : /* fall through */ @@ -592,7 +758,9 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 244 : /* fall through */ case 245 : /* fall through */ case 246 : /* fall through */ - case 247 : itype = THUMB_INSN_BL_HI; entire_insn = base_insn >> 16; thumb_extract_sfmt_bl_hi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 247 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BL_HI; thumb_extract_sfmt_bl_hi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 248 : /* fall through */ case 249 : /* fall through */ case 250 : /* fall through */ @@ -600,8 +768,10 @@ thumb_scache::decode (arm7f_cpu* current_cpu, PCADDR pc, thumb_insn_word base_in case 252 : /* fall through */ case 253 : /* fall through */ case 254 : /* fall through */ - case 255 : itype = THUMB_INSN_BL_LO; entire_insn = base_insn >> 16; thumb_extract_sfmt_bl_lo (this, current_cpu, pc, base_insn, entire_insn); goto done; - default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 255 : + entire_insn = entire_insn >> 16; + itype = THUMB_INSN_BL_LO; thumb_extract_sfmt_bl_lo (this, current_cpu, pc, base_insn, entire_insn); goto done; + default : itype = THUMB_INSN_X_INVALID; thumb_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } diff --git a/sid/component/cgen-cpu/arm7t/thumb-decode.h b/sid/component/cgen-cpu/arm7t/thumb-decode.h index d27e40a011..4731d07e85 100644 --- a/sid/component/cgen-cpu/arm7t/thumb-decode.h +++ b/sid/component/cgen-cpu/arm7t/thumb-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/arm7t/thumb-sem.cxx b/sid/component/cgen-cpu/arm7t/thumb-sem.cxx index 88dfee2356..75206ae826 100644 --- a/sid/component/cgen-cpu/arm7t/thumb-sem.cxx +++ b/sid/component/cgen-cpu/arm7t/thumb-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -16,7 +16,6 @@ This file is part of the Red Hat simulators. #include "arm7f.h" using namespace arm7f; // FIXME: namespace organization still wip - #define GET_ATTR(name) GET_ATTR_##name () @@ -58,30 +57,30 @@ thumb_sem_lsl (arm7f_cpu* current_cpu, thumb_scache* sem) tmp_carry_out = current_cpu->compute_carry_out_immshift (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), SHIFT_TYPE_LSL, FLD (f_offset5), current_cpu->hardware.h_cbit); { SI opval = SLLSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset5)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { { BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -107,30 +106,30 @@ thumb_sem_lsr (arm7f_cpu* current_cpu, thumb_scache* sem) tmp_carry_out = current_cpu->compute_carry_out_immshift (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), SHIFT_TYPE_LSR, FLD (f_offset5), current_cpu->hardware.h_cbit); { SI opval = SRLSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset5)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { { BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -156,30 +155,30 @@ thumb_sem_asr (arm7f_cpu* current_cpu, thumb_scache* sem) tmp_carry_out = current_cpu->compute_carry_out_immshift (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), SHIFT_TYPE_ASR, FLD (f_offset5), current_cpu->hardware.h_cbit); { SI opval = SRASI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset5)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { { BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -207,35 +206,35 @@ thumb_sem_add (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } } @@ -262,35 +261,35 @@ thumb_sem_addi (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } } @@ -317,35 +316,35 @@ thumb_sem_sub (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } { SI opval = SUBSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } } @@ -372,35 +371,35 @@ thumb_sem_subi (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } { SI opval = SUBSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } } @@ -423,22 +422,22 @@ thumb_sem_mov (arm7f_cpu* current_cpu, thumb_scache* sem) { { SI opval = FLD (f_offset8); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); } { { BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -465,28 +464,28 @@ thumb_sem_cmp (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } @@ -513,35 +512,35 @@ thumb_sem_addi8 (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8)); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); } } @@ -568,35 +567,35 @@ thumb_sem_subi8 (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } { SI opval = SUBSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8)); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); } } @@ -619,22 +618,22 @@ thumb_sem_alu_and (arm7f_cpu* current_cpu, thumb_scache* sem) { { SI opval = ANDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -658,22 +657,22 @@ thumb_sem_alu_eor (arm7f_cpu* current_cpu, thumb_scache* sem) { { SI opval = XORSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -701,30 +700,30 @@ thumb_sem_alu_lsl (arm7f_cpu* current_cpu, thumb_scache* sem) tmp_result = SLLSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); { SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -752,30 +751,30 @@ thumb_sem_alu_lsr (arm7f_cpu* current_cpu, thumb_scache* sem) tmp_result = SRLSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); { SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -803,30 +802,30 @@ thumb_sem_alu_asr (arm7f_cpu* current_cpu, thumb_scache* sem) tmp_result = SRASI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); { SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -854,30 +853,30 @@ thumb_sem_alu_ror (arm7f_cpu* current_cpu, thumb_scache* sem) tmp_result = RORSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); { SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } } } @@ -907,35 +906,35 @@ thumb_sem_alu_adc (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } { SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } } @@ -964,35 +963,35 @@ thumb_sem_alu_sbc (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), NOTBI (current_cpu->hardware.h_cbit))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } { SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } } @@ -1018,15 +1017,15 @@ thumb_sem_alu_tst (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_x, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_x, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -1056,35 +1055,35 @@ thumb_sem_alu_neg (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (0, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (0, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (0, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } { SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } } @@ -1110,28 +1109,28 @@ thumb_sem_alu_cmp (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } @@ -1157,28 +1156,28 @@ thumb_sem_alu_cmn (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { BI opval = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); - current_cpu->hardware.h_cbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } @@ -1201,22 +1200,22 @@ thumb_sem_alu_orr (arm7f_cpu* current_cpu, thumb_scache* sem) { { SI opval = ORSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -1240,22 +1239,22 @@ thumb_sem_alu_mul (arm7f_cpu* current_cpu, thumb_scache* sem) { { SI opval = MULSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -1279,22 +1278,22 @@ thumb_sem_alu_bic (arm7f_cpu* current_cpu, thumb_scache* sem) { { SI opval = ANDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), INVSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -1318,22 +1317,22 @@ thumb_sem_alu_mvn (arm7f_cpu* current_cpu, thumb_scache* sem) { { SI opval = INVSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } { { BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } } @@ -1356,9 +1355,9 @@ thumb_sem_add_rd_hs (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } current_cpu->done_insn (npc, status); @@ -1380,16 +1379,16 @@ thumb_sem_add_hd_rs (arm7f_cpu* current_cpu, thumb_scache* sem) if (EQSI (FLD (f_rd), 7)) { { USI opval = ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "hiregs" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); } } @@ -1412,16 +1411,16 @@ thumb_sem_add_hd_hs (arm7f_cpu* current_cpu, thumb_scache* sem) if (EQSI (FLD (f_rd), 7)) { { USI opval = ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs))); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs))); - current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "hiregs" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); } } @@ -1447,28 +1446,28 @@ thumb_sem_cmp_rd_hs (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } @@ -1494,28 +1493,28 @@ thumb_sem_cmp_hd_rs (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } @@ -1541,28 +1540,28 @@ thumb_sem_cmp_hd_hs (arm7f_cpu* current_cpu, thumb_scache* sem) { { BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "zbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_zbit = opval; } { BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "nbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_nbit = opval; } } { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0)); - current_cpu->hardware.h_cbit = opval; + BI opval = NOTBI (SUBCFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_cbit = opval; } { BI opval = SUBOFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "vbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->hardware.h_vbit = opval; } } @@ -1584,9 +1583,9 @@ thumb_sem_mov_rd_hs (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = current_cpu->thumb_h_hiregs_get (FLD (f_rs)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } current_cpu->done_insn (npc, status); @@ -1608,16 +1607,16 @@ thumb_sem_mov_hd_rs (arm7f_cpu* current_cpu, thumb_scache* sem) if (EQSI (FLD (f_rd), 7)) { { USI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rs)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rs)); - current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "hiregs" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); } } @@ -1640,16 +1639,16 @@ thumb_sem_mov_hd_hs (arm7f_cpu* current_cpu, thumb_scache* sem) if (EQSI (FLD (f_rd), 7)) { { USI opval = current_cpu->thumb_h_hiregs_get (FLD (f_rs)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } else { { SI opval = current_cpu->thumb_h_hiregs_get (FLD (f_rs)); - current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "hiregs" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); } } @@ -1672,16 +1671,16 @@ thumb_sem_bx_rs (arm7f_cpu* current_cpu, thumb_scache* sem) { { USI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rs)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (NOTSI (ANDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 1))) { { BI opval = 0; - current_cpu->h_tbit_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "tbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_tbit_set (opval); } } } @@ -1705,16 +1704,16 @@ thumb_sem_bx_hs (arm7f_cpu* current_cpu, thumb_scache* sem) { { USI opval = current_cpu->thumb_h_hiregs_get (FLD (f_rs)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { { BI opval = 0; - current_cpu->h_tbit_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "tbit" << ":=0x" << hex << opval << dec << " "; + current_cpu->h_tbit_set (opval); } } } @@ -1737,9 +1736,9 @@ thumb_sem_ldr_pc (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = current_cpu->GETMEMSI (pc, ADDSI (ANDSI (ADDSI (pc, 4), -4), FLD (f_word8))); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); } current_cpu->done_insn (npc, status); @@ -1760,9 +1759,9 @@ thumb_sem_str (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), opval); } current_cpu->done_insn (npc, status); @@ -1783,9 +1782,9 @@ thumb_sem_strb (arm7f_cpu* current_cpu, thumb_scache* sem) { QI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))) << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), opval); } current_cpu->done_insn (npc, status); @@ -1806,9 +1805,9 @@ thumb_sem_ldr (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = current_cpu->GETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro)))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } current_cpu->done_insn (npc, status); @@ -1829,9 +1828,9 @@ thumb_sem_ldrb (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } current_cpu->done_insn (npc, status); @@ -1852,9 +1851,9 @@ thumb_sem_strh (arm7f_cpu* current_cpu, thumb_scache* sem) { HI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), opval); } current_cpu->done_insn (npc, status); @@ -1875,9 +1874,9 @@ thumb_sem_ldrh (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } current_cpu->done_insn (npc, status); @@ -1898,9 +1897,9 @@ thumb_sem_ldsb (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = EXTQISI (current_cpu->GETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } current_cpu->done_insn (npc, status); @@ -1921,9 +1920,9 @@ thumb_sem_ldsh (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = EXTHISI (current_cpu->GETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } current_cpu->done_insn (npc, status); @@ -1944,9 +1943,9 @@ thumb_sem_str_imm (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_7)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_7)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_7)), opval); } current_cpu->done_insn (npc, status); @@ -1967,9 +1966,9 @@ thumb_sem_ldr_imm (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = current_cpu->GETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_7))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } current_cpu->done_insn (npc, status); @@ -1990,9 +1989,9 @@ thumb_sem_strb_imm (arm7f_cpu* current_cpu, thumb_scache* sem) { QI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5)) << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; + current_cpu->SETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5)), opval); } current_cpu->done_insn (npc, status); @@ -2013,9 +2012,9 @@ thumb_sem_ldrb_imm (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5)))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } current_cpu->done_insn (npc, status); @@ -2036,9 +2035,9 @@ thumb_sem_strh_imm (arm7f_cpu* current_cpu, thumb_scache* sem) { HI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_6)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_6)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_6)), opval); } current_cpu->done_insn (npc, status); @@ -2059,9 +2058,9 @@ thumb_sem_ldrh_imm (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_6)))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); } current_cpu->done_insn (npc, status); @@ -2082,9 +2081,9 @@ thumb_sem_str_sprel (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)); - current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8)), opval); } current_cpu->done_insn (npc, status); @@ -2105,9 +2104,9 @@ thumb_sem_ldr_sprel (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = current_cpu->GETMEMSI (pc, ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8))); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); } current_cpu->done_insn (npc, status); @@ -2128,9 +2127,9 @@ thumb_sem_lda_pc (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = ADDSI (ANDSI (ADDSI (pc, 4), -4), FLD (f_word8)); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); } current_cpu->done_insn (npc, status); @@ -2151,9 +2150,9 @@ thumb_sem_lda_sp (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8)); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rd) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); } current_cpu->done_insn (npc, status); @@ -2174,9 +2173,9 @@ thumb_sem_add_sp (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_sword7)); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } current_cpu->done_insn (npc, status); @@ -2197,9 +2196,9 @@ thumb_sem_sub_sp (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), FLD (f_sword7)); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } current_cpu->done_insn (npc, status); @@ -2223,15 +2222,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 7)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2239,15 +2238,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 6)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2255,15 +2254,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 5)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2271,15 +2270,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 4)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2287,15 +2286,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 3)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2303,15 +2302,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 2)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2319,15 +2318,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 1)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2335,15 +2334,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 0)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2368,29 +2367,29 @@ thumb_sem_push_lr (arm7f_cpu* current_cpu, thumb_scache* sem) { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_lr_t_get (); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 7)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2398,15 +2397,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 6)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2414,15 +2413,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 5)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2430,15 +2429,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 4)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2446,15 +2445,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 3)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2462,15 +2461,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 2)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2478,15 +2477,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 1)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2494,15 +2493,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { { SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 0)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_sp_t_get () << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); } } } @@ -2529,15 +2528,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 0), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 0), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2545,15 +2544,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 1), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 1), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2561,15 +2560,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 2), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 2), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2577,15 +2576,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 3), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 3), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2593,15 +2592,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 4), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 4), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2609,15 +2608,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 5), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 5), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2625,15 +2624,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 6), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 6), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2641,15 +2640,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 7), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 7), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2676,15 +2675,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 0), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 0), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2692,15 +2691,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 1), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 1), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2708,15 +2707,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 2), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 2), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2724,15 +2723,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 3), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 3), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2740,15 +2739,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 4), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 4), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2756,15 +2755,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 5), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 5), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2772,15 +2771,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 6), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 6), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } @@ -2788,29 +2787,29 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 7), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 7), opval); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } } { USI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } { SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "sp-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_sp_t_set (opval); } } @@ -2835,15 +2834,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 0)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -2851,15 +2850,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 1)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -2867,15 +2866,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 2)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -2883,15 +2882,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 3)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -2899,15 +2898,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 4)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -2915,15 +2914,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 5)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -2931,15 +2930,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 6)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -2947,15 +2946,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { { SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 7)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)) << dec << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -2982,15 +2981,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 0), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 0), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -2998,15 +2997,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 1), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 1), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -3014,15 +3013,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 2), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 2) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 2), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -3030,15 +3029,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 3), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 3) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 3), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -3046,15 +3045,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 4), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 4), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -3062,15 +3061,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 5), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 5) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 5), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -3078,15 +3077,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 6), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 6), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -3094,15 +3093,15 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { { SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 7), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << ((UINT) 7) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (((UINT) 7), opval); } { SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gr-t" << '[' << FLD (f_bit10_rb) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); } } } @@ -3127,9 +3126,9 @@ thumb_sem_beq (arm7f_cpu* current_cpu, thumb_scache* sem) if (current_cpu->hardware.h_zbit) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3152,9 +3151,9 @@ thumb_sem_bne (arm7f_cpu* current_cpu, thumb_scache* sem) if (NOTBI (current_cpu->hardware.h_zbit)) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3177,9 +3176,9 @@ thumb_sem_bcs (arm7f_cpu* current_cpu, thumb_scache* sem) if (current_cpu->hardware.h_cbit) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3202,9 +3201,9 @@ thumb_sem_bcc (arm7f_cpu* current_cpu, thumb_scache* sem) if (NOTBI (current_cpu->hardware.h_cbit)) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3227,9 +3226,9 @@ thumb_sem_bmi (arm7f_cpu* current_cpu, thumb_scache* sem) if (current_cpu->hardware.h_nbit) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3252,9 +3251,9 @@ thumb_sem_bpl (arm7f_cpu* current_cpu, thumb_scache* sem) if (NOTBI (current_cpu->hardware.h_nbit)) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3277,9 +3276,9 @@ thumb_sem_bvs (arm7f_cpu* current_cpu, thumb_scache* sem) if (current_cpu->hardware.h_vbit) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3302,9 +3301,9 @@ thumb_sem_bvc (arm7f_cpu* current_cpu, thumb_scache* sem) if (NOTBI (current_cpu->hardware.h_vbit)) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3327,9 +3326,9 @@ thumb_sem_bhi (arm7f_cpu* current_cpu, thumb_scache* sem) if (ANDBI (current_cpu->hardware.h_cbit, NOTBI (current_cpu->hardware.h_zbit))) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3352,9 +3351,9 @@ thumb_sem_bls (arm7f_cpu* current_cpu, thumb_scache* sem) if (ORBI (NOTBI (current_cpu->hardware.h_cbit), current_cpu->hardware.h_zbit)) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3377,9 +3376,9 @@ thumb_sem_bge (arm7f_cpu* current_cpu, thumb_scache* sem) if (NOTBI (XORBI (current_cpu->hardware.h_nbit, current_cpu->hardware.h_vbit))) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3402,9 +3401,9 @@ thumb_sem_blt (arm7f_cpu* current_cpu, thumb_scache* sem) if (XORBI (current_cpu->hardware.h_nbit, current_cpu->hardware.h_vbit)) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3427,9 +3426,9 @@ thumb_sem_bgt (arm7f_cpu* current_cpu, thumb_scache* sem) if (NOTBI (ORBI (current_cpu->hardware.h_zbit, XORBI (current_cpu->hardware.h_nbit, current_cpu->hardware.h_vbit)))) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3452,9 +3451,9 @@ thumb_sem_ble (arm7f_cpu* current_cpu, thumb_scache* sem) if (ORBI (current_cpu->hardware.h_zbit, XORBI (current_cpu->hardware.h_nbit, current_cpu->hardware.h_vbit))) { { USI opval = FLD (i_soffset8); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } } @@ -3476,9 +3475,9 @@ thumb_sem_swi (arm7f_cpu* current_cpu, thumb_scache* sem) { USI opval = current_cpu->thumb_swi (pc, FLD (f_value8)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } current_cpu->done_cti_insn (npc, status); @@ -3499,9 +3498,9 @@ thumb_sem_b (arm7f_cpu* current_cpu, thumb_scache* sem) { USI opval = FLD (i_offset11); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } current_cpu->done_cti_insn (npc, status); @@ -3522,9 +3521,9 @@ thumb_sem_bl_hi (arm7f_cpu* current_cpu, thumb_scache* sem) { SI opval = ADDSI (ADDSI (pc, 4), SLLSI (FLD (f_lbwl_hi), 12)); - current_cpu->thumb_h_lr_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "lr-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_lr_t_set (opval); } current_cpu->done_insn (npc, status); @@ -3548,15 +3547,15 @@ thumb_sem_bl_lo (arm7f_cpu* current_cpu, thumb_scache* sem) tmp_cur_pc = pc; { USI opval = ADDSI (current_cpu->thumb_h_lr_t_get (), SLLSI (FLD (f_lbwl_lo), 1)); - current_cpu->branch (opval, npc, status); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "pc" << ":=0x" << hex << opval << dec << " "; + current_cpu->branch (opval, npc, status); } { SI opval = ORSI (ADDSI (tmp_cur_pc, 2), 1); - current_cpu->thumb_h_lr_t_set (opval); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "lr-t" << ":=0x" << hex << opval << dec << " "; + current_cpu->thumb_h_lr_t_set (opval); } } diff --git a/sid/component/cgen-cpu/arm7t/thumb-semsw.cxx b/sid/component/cgen-cpu/arm7t/thumb-semsw.cxx index 4294e93bf0..9fa9160bbc 100644 --- a/sid/component/cgen-cpu/arm7t/thumb-semsw.cxx +++ b/sid/component/cgen-cpu/arm7t/thumb-semsw.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -294,25 +294,13 @@ restart: { BI tmp_carry_out; tmp_carry_out = current_cpu->compute_carry_out_immshift (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), SHIFT_TYPE_LSL, FLD (f_offset5), current_cpu->hardware.h_cbit); - { - SI opval = SLLSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset5)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), SLLSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset5))); { { - { - BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); +current_cpu->hardware.h_nbit = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); } - { - BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = tmp_carry_out; } } @@ -333,25 +321,13 @@ restart: { BI tmp_carry_out; tmp_carry_out = current_cpu->compute_carry_out_immshift (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), SHIFT_TYPE_LSR, FLD (f_offset5), current_cpu->hardware.h_cbit); - { - SI opval = SRLSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset5)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), SRLSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset5))); { { - { - BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); +current_cpu->hardware.h_nbit = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); } - { - BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = tmp_carry_out; } } @@ -372,25 +348,13 @@ restart: { BI tmp_carry_out; tmp_carry_out = current_cpu->compute_carry_out_immshift (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), SHIFT_TYPE_ASR, FLD (f_offset5), current_cpu->hardware.h_cbit); - { - SI opval = SRASI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset5)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), SRASI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset5))); { { - { - BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); +current_cpu->hardware.h_nbit = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); } - { - BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = tmp_carry_out; } } @@ -413,28 +377,13 @@ restart: SI tmp_result; tmp_result = ADDCSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); +current_cpu->hardware.h_vbit = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)))); } #undef FLD @@ -456,28 +405,13 @@ restart: SI tmp_result; tmp_result = ADDCSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); +current_cpu->hardware.h_vbit = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3))); } #undef FLD @@ -499,28 +433,13 @@ restart: SI tmp_result; tmp_result = SUBCSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)), 0); } - { - SI opval = SUBSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), SUBSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->thumb_h_gr_t_get (FLD (f_rn)))); } #undef FLD @@ -542,28 +461,13 @@ restart: SI tmp_result; tmp_result = SUBCSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3), 0); } - { - SI opval = SUBSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), SUBSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), FLD (f_offset3))); } #undef FLD @@ -581,19 +485,10 @@ restart: current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); { - { - SI opval = FLD (f_offset8); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), FLD (f_offset8)); { - { - BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), 0); +current_cpu->hardware.h_nbit = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), 0); } } @@ -615,23 +510,11 @@ restart: SI tmp_result; tmp_result = SUBCSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); } #undef FLD @@ -653,28 +536,13 @@ restart: SI tmp_result; tmp_result = ADDCSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); +current_cpu->hardware.h_vbit = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8)); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8))); } #undef FLD @@ -696,28 +564,13 @@ restart: SI tmp_result; tmp_result = SUBCSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8), 0); } - { - SI opval = SUBSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8)); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), SUBSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)), FLD (f_offset8))); } #undef FLD @@ -735,19 +588,10 @@ restart: current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); { - { - SI opval = ANDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), ANDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)))); { - { - BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); +current_cpu->hardware.h_nbit = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); } } @@ -766,19 +610,10 @@ restart: current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); { - { - SI opval = XORSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), XORSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)))); { - { - BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); +current_cpu->hardware.h_nbit = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); } } @@ -801,25 +636,13 @@ restart: SI tmp_result; tmp_carry_out = current_cpu->compute_carry_out_regshift (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), SHIFT_TYPE_LSL, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); tmp_result = SLLSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - { - SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), tmp_result); { { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = tmp_carry_out; } } @@ -842,25 +665,13 @@ restart: SI tmp_result; tmp_carry_out = current_cpu->compute_carry_out_regshift (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), SHIFT_TYPE_LSR, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); tmp_result = SRLSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - { - SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), tmp_result); { { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = tmp_carry_out; } } @@ -883,25 +694,13 @@ restart: SI tmp_result; tmp_carry_out = current_cpu->compute_carry_out_regshift (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), SHIFT_TYPE_ASR, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); tmp_result = SRASI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - { - SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), tmp_result); { { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = tmp_carry_out; } } @@ -924,25 +723,13 @@ restart: SI tmp_result; tmp_carry_out = current_cpu->compute_carry_out_regshift (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), SHIFT_TYPE_ROR, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); tmp_result = RORSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - { - SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), tmp_result); { { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = tmp_carry_out; - current_cpu->hardware.h_cbit = opval; - } +current_cpu->hardware.h_cbit = tmp_carry_out; } } @@ -967,28 +754,13 @@ restart: SI tmp_result; tmp_result = ADDCSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); +current_cpu->hardware.h_vbit = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), current_cpu->hardware.h_cbit); } - { - SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), tmp_result); } #undef FLD @@ -1012,28 +784,13 @@ restart: SI tmp_result; tmp_result = SUBCSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), NOTBI (current_cpu->hardware.h_cbit)); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), NOTBI (current_cpu->hardware.h_cbit))); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), NOTBI (current_cpu->hardware.h_cbit)); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), NOTBI (current_cpu->hardware.h_cbit))); +current_cpu->hardware.h_vbit = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), NOTBI (current_cpu->hardware.h_cbit)); } - { - SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), tmp_result); } #undef FLD @@ -1054,14 +811,8 @@ restart: SI tmp_x; tmp_x = ANDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); { - { - BI opval = EQSI (tmp_x, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_x, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_x, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_x, 0); } } @@ -1086,28 +837,13 @@ restart: SI tmp_result; tmp_result = SUBCSI (0, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (0, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (0, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (0, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (0, current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); } - { - SI opval = tmp_result; - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), tmp_result); } #undef FLD @@ -1128,23 +864,11 @@ restart: SI tmp_result; tmp_result = SUBCSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); } #undef FLD @@ -1165,23 +889,11 @@ restart: SI tmp_result; tmp_result = ADDCSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = ADDCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); +current_cpu->hardware.h_vbit = ADDOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); } #undef FLD @@ -1199,19 +911,10 @@ restart: current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); { - { - SI opval = ORSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), ORSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)))); { - { - BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); +current_cpu->hardware.h_nbit = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); } } @@ -1230,19 +933,10 @@ restart: current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); { - { - SI opval = MULSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), MULSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)))); { - { - BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); +current_cpu->hardware.h_nbit = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); } } @@ -1261,19 +955,10 @@ restart: current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); { - { - SI opval = ANDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), INVSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), ANDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), INVSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs))))); { - { - BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); +current_cpu->hardware.h_nbit = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); } } @@ -1292,19 +977,10 @@ restart: current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); { - { - SI opval = INVSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), INVSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)))); { - { - BI opval = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); +current_cpu->hardware.h_nbit = LTSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), 0); } } @@ -1322,10 +998,7 @@ restart: vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)))); #undef FLD } @@ -1344,15 +1017,9 @@ restart: current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (EQSI (FLD (f_rd), 7)) { - { - USI opval = ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); - current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_hiregs_set (FLD (f_rd), ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)))); } pbb_br_npc = npc; @@ -1374,15 +1041,9 @@ if (EQSI (FLD (f_rd), 7)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (EQSI (FLD (f_rd), 7)) { - { - USI opval = ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs))); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs))); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs))); - current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_hiregs_set (FLD (f_rd), ADDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)))); } pbb_br_npc = npc; @@ -1405,23 +1066,11 @@ if (EQSI (FLD (f_rd), 7)) { SI tmp_result; tmp_result = SUBCSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (current_cpu->thumb_h_gr_t_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0); } #undef FLD @@ -1442,23 +1091,11 @@ if (EQSI (FLD (f_rd), 7)) { SI tmp_result; tmp_result = SUBCSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 0); } #undef FLD @@ -1479,23 +1116,11 @@ if (EQSI (FLD (f_rd), 7)) { SI tmp_result; tmp_result = SUBCSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0); { - { - BI opval = EQSI (tmp_result, 0); - current_cpu->hardware.h_zbit = opval; - } - { - BI opval = LTSI (tmp_result, 0); - current_cpu->hardware.h_nbit = opval; - } +current_cpu->hardware.h_zbit = EQSI (tmp_result, 0); +current_cpu->hardware.h_nbit = LTSI (tmp_result, 0); } - { - BI opval = NOTSI (SUBCFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0)); - current_cpu->hardware.h_cbit = opval; - } - { - BI opval = SUBOFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0); - current_cpu->hardware.h_vbit = opval; - } +current_cpu->hardware.h_cbit = NOTBI (SUBCFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0)); +current_cpu->hardware.h_vbit = SUBOFSI (current_cpu->thumb_h_hiregs_get (FLD (f_rd)), current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 0); } #undef FLD @@ -1512,10 +1137,7 @@ if (EQSI (FLD (f_rd), 7)) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = current_cpu->thumb_h_hiregs_get (FLD (f_rs)); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), current_cpu->thumb_h_hiregs_get (FLD (f_rs))); #undef FLD } @@ -1534,15 +1156,9 @@ if (EQSI (FLD (f_rd), 7)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (EQSI (FLD (f_rd), 7)) { - { - USI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rs)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->thumb_h_gr_t_get (FLD (f_rs)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rs)); - current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_hiregs_set (FLD (f_rd), current_cpu->thumb_h_gr_t_get (FLD (f_rs))); } pbb_br_npc = npc; @@ -1564,15 +1180,9 @@ if (EQSI (FLD (f_rd), 7)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (EQSI (FLD (f_rd), 7)) { - { - USI opval = current_cpu->thumb_h_hiregs_get (FLD (f_rs)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->thumb_h_hiregs_get (FLD (f_rs)); br_status = BRANCH_UNCACHEABLE; } else { - { - SI opval = current_cpu->thumb_h_hiregs_get (FLD (f_rs)); - current_cpu->thumb_h_hiregs_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_hiregs_set (FLD (f_rd), current_cpu->thumb_h_hiregs_get (FLD (f_rs))); } pbb_br_npc = npc; @@ -1594,15 +1204,9 @@ if (EQSI (FLD (f_rd), 7)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); { - { - USI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rs)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->thumb_h_gr_t_get (FLD (f_rs)); br_status = BRANCH_UNCACHEABLE; if (NOTSI (ANDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 1))) { - { - BI opval = 0; - current_cpu->h_tbit_set (opval); - } +current_cpu->h_tbit_set (0); } } @@ -1625,15 +1229,9 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rs)), 1))) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); { - { - USI opval = current_cpu->thumb_h_hiregs_get (FLD (f_rs)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->thumb_h_hiregs_get (FLD (f_rs)); br_status = BRANCH_UNCACHEABLE; if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { - { - BI opval = 0; - current_cpu->h_tbit_set (opval); - } +current_cpu->h_tbit_set (0); } } @@ -1653,10 +1251,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = current_cpu->GETMEMSI (pc, ADDSI (ANDSI (ADDSI (pc, 4), -4), FLD (f_word8))); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), current_cpu->GETMEMSI (pc, ADDSI (ANDSI (ADDSI (pc, 4), -4), FLD (f_word8)))); #undef FLD } @@ -1672,10 +1267,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), opval); - } +current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), current_cpu->thumb_h_gr_t_get (FLD (f_rd))); #undef FLD } @@ -1691,10 +1283,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - QI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), opval); - } +current_cpu->SETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), current_cpu->thumb_h_gr_t_get (FLD (f_rd))); #undef FLD } @@ -1710,10 +1299,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = current_cpu->GETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro)))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), current_cpu->GETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))))); #undef FLD } @@ -1729,10 +1315,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), ZEXTQISI (current_cpu->GETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro)))))); #undef FLD } @@ -1748,10 +1331,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - HI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), opval); - } +current_cpu->SETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))), current_cpu->thumb_h_gr_t_get (FLD (f_rd))); #undef FLD } @@ -1767,10 +1347,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), ZEXTHISI (current_cpu->GETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro)))))); #undef FLD } @@ -1786,10 +1363,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = EXTQISI (current_cpu->GETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), EXTQISI (current_cpu->GETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro)))))); #undef FLD } @@ -1805,10 +1379,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = EXTHISI (current_cpu->GETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro))))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), EXTHISI (current_cpu->GETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), current_cpu->thumb_h_gr_t_get (FLD (f_ro)))))); #undef FLD } @@ -1824,10 +1395,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_7)), opval); - } +current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_7)), current_cpu->thumb_h_gr_t_get (FLD (f_rd))); #undef FLD } @@ -1843,10 +1411,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = current_cpu->GETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_7))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), current_cpu->GETMEMSI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_7)))); #undef FLD } @@ -1862,10 +1427,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - QI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5)), opval); - } +current_cpu->SETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5)), current_cpu->thumb_h_gr_t_get (FLD (f_rd))); #undef FLD } @@ -1881,10 +1443,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = ZEXTQISI (current_cpu->GETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5)))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), ZEXTQISI (current_cpu->GETMEMQI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5))))); #undef FLD } @@ -1900,10 +1459,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - HI opval = current_cpu->thumb_h_gr_t_get (FLD (f_rd)); - current_cpu->SETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_6)), opval); - } +current_cpu->SETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_6)), current_cpu->thumb_h_gr_t_get (FLD (f_rd))); #undef FLD } @@ -1919,10 +1475,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = ZEXTHISI (current_cpu->GETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_6)))); - current_cpu->thumb_h_gr_t_set (FLD (f_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_rd), ZEXTHISI (current_cpu->GETMEMHI (pc, ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_rb)), FLD (f_offset5_6))))); #undef FLD } @@ -1938,10 +1491,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd)); - current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8)), opval); - } +current_cpu->SETMEMSI (pc, ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8)), current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rd))); #undef FLD } @@ -1957,10 +1507,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = current_cpu->GETMEMSI (pc, ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8))); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), current_cpu->GETMEMSI (pc, ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8)))); #undef FLD } @@ -1976,10 +1523,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = ADDSI (ANDSI (ADDSI (pc, 4), -4), FLD (f_word8)); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), ADDSI (ANDSI (ADDSI (pc, 4), -4), FLD (f_word8))); #undef FLD } @@ -1995,10 +1539,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8)); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), opval); - } +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rd), ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_word8))); #undef FLD } @@ -2014,10 +1555,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_sword7)); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), FLD (f_sword7))); #undef FLD } @@ -2033,10 +1571,7 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), FLD (f_sword7)); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), FLD (f_sword7))); #undef FLD } @@ -2055,98 +1590,50 @@ if (NOTSI (ANDSI (current_cpu->thumb_h_hiregs_get (FLD (f_rs)), 1))) { { if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 7)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 7))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 6)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 6))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 5)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 5))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 4)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 4))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 3)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 3))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 2)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 2))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 1)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 1))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 0)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 0))); } } } @@ -2166,108 +1653,54 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_lr_t_get (); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_lr_t_get ()); if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 7)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 7))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 6)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 6))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 5)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 5))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 4)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 4))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 3)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 3))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 2)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 2))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 1)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 1))); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { - { - SI opval = SUBSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 0)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), opval); - } +current_cpu->thumb_h_sp_t_set (SUBSI (current_cpu->thumb_h_sp_t_get (), 4)); +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_sp_t_get (), current_cpu->thumb_h_gr_t_get (((UINT) 0))); } } } @@ -2289,98 +1722,50 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 0), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 0), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 1), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 1), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 2), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 2), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 3), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 3), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 4), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 4), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 5), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 5), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 6), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 6), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 7), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 7), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } } @@ -2404,108 +1789,54 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 0), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 0), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 1), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 1), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 2), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 2), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 3), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 3), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 4), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 4), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 5), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 5), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 6), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 6), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - current_cpu->thumb_h_gr_t_set (((UINT) 7), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 7), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ())); +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } } - { - USI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } - { - SI opval = ADDSI (current_cpu->thumb_h_sp_t_get (), 4); - current_cpu->thumb_h_sp_t_set (opval); - } +npc = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_sp_t_get ()); br_status = BRANCH_UNCACHEABLE; +current_cpu->thumb_h_sp_t_set (ADDSI (current_cpu->thumb_h_sp_t_get (), 4)); } pbb_br_npc = npc; @@ -2527,98 +1858,50 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 0)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), current_cpu->thumb_h_gr_t_get (((UINT) 0))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 1)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), current_cpu->thumb_h_gr_t_get (((UINT) 1))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 2)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), current_cpu->thumb_h_gr_t_get (((UINT) 2))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 3)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), current_cpu->thumb_h_gr_t_get (((UINT) 3))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 4)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), current_cpu->thumb_h_gr_t_get (((UINT) 4))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 5)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), current_cpu->thumb_h_gr_t_get (((UINT) 5))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 6)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), current_cpu->thumb_h_gr_t_get (((UINT) 6))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { - { - SI opval = current_cpu->thumb_h_gr_t_get (((UINT) 7)); - current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->SETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), current_cpu->thumb_h_gr_t_get (((UINT) 7))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } } @@ -2640,98 +1923,50 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { if (ANDSI (FLD (f_rlist), SLLSI (1, 0))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 0), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 0), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 1))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 1), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 1), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 2))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 2), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 2), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 3))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 3), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 3), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 4))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 4), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 4), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 5))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 5), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 5), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 6))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 6), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 6), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { { - { - SI opval = current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb))); - current_cpu->thumb_h_gr_t_set (((UINT) 7), opval); - } - { - SI opval = ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4); - current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), opval); - } +current_cpu->thumb_h_gr_t_set (((UINT) 7), current_cpu->GETMEMSI (pc, current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)))); +current_cpu->thumb_h_gr_t_set (FLD (f_bit10_rb), ADDSI (current_cpu->thumb_h_gr_t_get (FLD (f_bit10_rb)), 4)); } } } @@ -2753,10 +1988,7 @@ if (ANDSI (FLD (f_rlist), SLLSI (1, 7))) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (current_cpu->hardware.h_zbit) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2778,10 +2010,7 @@ if (current_cpu->hardware.h_zbit) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (NOTBI (current_cpu->hardware.h_zbit)) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2803,10 +2032,7 @@ if (NOTBI (current_cpu->hardware.h_zbit)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (current_cpu->hardware.h_cbit) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2828,10 +2054,7 @@ if (current_cpu->hardware.h_cbit) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (NOTBI (current_cpu->hardware.h_cbit)) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2853,10 +2076,7 @@ if (NOTBI (current_cpu->hardware.h_cbit)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (current_cpu->hardware.h_nbit) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2878,10 +2098,7 @@ if (current_cpu->hardware.h_nbit) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (NOTBI (current_cpu->hardware.h_nbit)) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2903,10 +2120,7 @@ if (NOTBI (current_cpu->hardware.h_nbit)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (current_cpu->hardware.h_vbit) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2928,10 +2142,7 @@ if (current_cpu->hardware.h_vbit) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (NOTBI (current_cpu->hardware.h_vbit)) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2953,10 +2164,7 @@ if (NOTBI (current_cpu->hardware.h_vbit)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (ANDBI (current_cpu->hardware.h_cbit, NOTBI (current_cpu->hardware.h_zbit))) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -2978,10 +2186,7 @@ if (ANDBI (current_cpu->hardware.h_cbit, NOTBI (current_cpu->hardware.h_zbit))) current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (ORBI (NOTBI (current_cpu->hardware.h_cbit), current_cpu->hardware.h_zbit)) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -3003,10 +2208,7 @@ if (ORBI (NOTBI (current_cpu->hardware.h_cbit), current_cpu->hardware.h_zbit)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (NOTBI (XORBI (current_cpu->hardware.h_nbit, current_cpu->hardware.h_vbit))) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -3028,10 +2230,7 @@ if (NOTBI (XORBI (current_cpu->hardware.h_nbit, current_cpu->hardware.h_vbit))) current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (XORBI (current_cpu->hardware.h_nbit, current_cpu->hardware.h_vbit)) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -3053,10 +2252,7 @@ if (XORBI (current_cpu->hardware.h_nbit, current_cpu->hardware.h_vbit)) { current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (NOTBI (ORBI (current_cpu->hardware.h_zbit, XORBI (current_cpu->hardware.h_nbit, current_cpu->hardware.h_vbit)))) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -3078,10 +2274,7 @@ if (NOTBI (ORBI (current_cpu->hardware.h_zbit, XORBI (current_cpu->hardware.h_nb current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); if (ORBI (current_cpu->hardware.h_zbit, XORBI (current_cpu->hardware.h_nbit, current_cpu->hardware.h_vbit))) { - { - USI opval = FLD (i_soffset8); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_soffset8); br_status = BRANCH_CACHEABLE; } pbb_br_npc = npc; @@ -3102,10 +2295,7 @@ if (ORBI (current_cpu->hardware.h_zbit, XORBI (current_cpu->hardware.h_nbit, cur vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - USI opval = current_cpu->thumb_swi (pc, FLD (f_value8)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } +npc = current_cpu->thumb_swi (pc, FLD (f_value8)); br_status = BRANCH_UNCACHEABLE; pbb_br_npc = npc; pbb_br_status = br_status; @@ -3125,10 +2315,7 @@ if (ORBI (current_cpu->hardware.h_zbit, XORBI (current_cpu->hardware.h_nbit, cur vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - USI opval = FLD (i_offset11); - npc = opval; br_status = BRANCH_CACHEABLE; - } +npc = FLD (i_offset11); br_status = BRANCH_CACHEABLE; pbb_br_npc = npc; pbb_br_status = br_status; @@ -3146,10 +2333,7 @@ if (ORBI (current_cpu->hardware.h_zbit, XORBI (current_cpu->hardware.h_nbit, cur vpc = vpc + 1; current_cpu->hardware.h_gr[((UINT) 15)] = ADDSI (pc, 4); - { - SI opval = ADDSI (ADDSI (pc, 4), SLLSI (FLD (f_lbwl_hi), 12)); - current_cpu->thumb_h_lr_t_set (opval); - } +current_cpu->thumb_h_lr_t_set (ADDSI (ADDSI (pc, 4), SLLSI (FLD (f_lbwl_hi), 12))); #undef FLD } @@ -3170,14 +2354,8 @@ if (ORBI (current_cpu->hardware.h_zbit, XORBI (current_cpu->hardware.h_nbit, cur { SI tmp_cur_pc; tmp_cur_pc = pc; - { - USI opval = ADDSI (current_cpu->thumb_h_lr_t_get (), SLLSI (FLD (f_lbwl_lo), 1)); - npc = opval; br_status = BRANCH_UNCACHEABLE; - } - { - SI opval = ORSI (ADDSI (tmp_cur_pc, 2), 1); - current_cpu->thumb_h_lr_t_set (opval); - } +npc = ADDSI (current_cpu->thumb_h_lr_t_get (), SLLSI (FLD (f_lbwl_lo), 1)); br_status = BRANCH_UNCACHEABLE; +current_cpu->thumb_h_lr_t_set (ORSI (ADDSI (tmp_cur_pc, 2), 1)); } pbb_br_npc = npc; diff --git a/sid/component/cgen-cpu/cgen-cpu.h b/sid/component/cgen-cpu/cgen-cpu.h index 89e14b95c0..eaa1e7f2ed 100644 --- a/sid/component/cgen-cpu/cgen-cpu.h +++ b/sid/component/cgen-cpu/cgen-cpu.h @@ -25,7 +25,7 @@ #include "bfd.h" #include "dis-asm.h" -#include "opcode/cgen-bitset.h" +#include "cgen/bitset.h" // ansidecl.h interferes with this perfectly ordinary word #undef AND diff --git a/sid/component/cgen-cpu/m32r/ChangeLog b/sid/component/cgen-cpu/m32r/ChangeLog index 18ecac39d7..06cbda45af 100644 --- a/sid/component/cgen-cpu/m32r/ChangeLog +++ b/sid/component/cgen-cpu/m32r/ChangeLog @@ -1,3 +1,8 @@ +2009-10-23 Doug Evans + + * m32r-desc.h: Regenerate. + * m32r-decode.cxx: Regenerate. + 2009-07-12 Doug Evans * Makefile.am (cpudir): Define. diff --git a/sid/component/cgen-cpu/m32r/m32r-cpu.h b/sid/component/cgen-cpu/m32r/m32r-cpu.h index 1b15a5daf4..6549746f3b 100644 --- a/sid/component/cgen-cpu/m32r/m32r-cpu.h +++ b/sid/component/cgen-cpu/m32r/m32r-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/m32r/m32r-decode.cxx b/sid/component/cgen-cpu/m32r/m32r-decode.cxx index 394fe3d253..591558c9df 100644 --- a/sid/component/cgen-cpu/m32r/m32r-decode.cxx +++ b/sid/component/cgen-cpu/m32r/m32r-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -281,69 +281,43 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x0) - { itype = M32RBF_INSN_SUBV; m32rbf_extract_sfmt_addv (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SUBV; m32rbf_extract_sfmt_addv (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x10) - { itype = M32RBF_INSN_SUBX; m32rbf_extract_sfmt_addx (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SUBX; m32rbf_extract_sfmt_addx (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x20) - { itype = M32RBF_INSN_SUB; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SUB; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x30) - { itype = M32RBF_INSN_NEG; m32rbf_extract_sfmt_mv (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_NEG; m32rbf_extract_sfmt_mv (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x40) - { itype = M32RBF_INSN_CMP; m32rbf_extract_sfmt_cmp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_CMP; m32rbf_extract_sfmt_cmp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x50) - { itype = M32RBF_INSN_CMPU; m32rbf_extract_sfmt_cmp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_CMPU; m32rbf_extract_sfmt_cmp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x80) - { itype = M32RBF_INSN_ADDV; m32rbf_extract_sfmt_addv (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_ADDV; m32rbf_extract_sfmt_addv (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x90) - { itype = M32RBF_INSN_ADDX; m32rbf_extract_sfmt_addx (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_ADDX; m32rbf_extract_sfmt_addx (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0xa0) - { itype = M32RBF_INSN_ADD; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_ADD; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0xb0) - { itype = M32RBF_INSN_NOT; m32rbf_extract_sfmt_mv (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_NOT; m32rbf_extract_sfmt_mv (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0xc0) - { itype = M32RBF_INSN_AND; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_AND; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0xd0) - { itype = M32RBF_INSN_XOR; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_XOR; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0xe0) - { itype = M32RBF_INSN_OR; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_OR; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf8f0) == 0xf0) @@ -351,39 +325,25 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x1000) - { itype = M32RBF_INSN_SRL; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SRL; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x1020) - { itype = M32RBF_INSN_SRA; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SRA; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 20 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x1040) - { itype = M32RBF_INSN_SLL; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SLL; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 22 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x1060) - { itype = M32RBF_INSN_MUL; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MUL; m32rbf_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x1080) - { itype = M32RBF_INSN_MV; m32rbf_extract_sfmt_mv (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MV; m32rbf_extract_sfmt_mv (this, current_cpu, pc, base_insn, entire_insn); goto done; case 25 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x1090) - { itype = M32RBF_INSN_MVFC; m32rbf_extract_sfmt_mvfc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MVFC; m32rbf_extract_sfmt_mvfc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 26 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x10a0) - { itype = M32RBF_INSN_MVTC; m32rbf_extract_sfmt_mvtc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MVTC; m32rbf_extract_sfmt_mvtc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 28 : { unsigned int val = (((insn >> 24) & (1 << 0))); @@ -414,109 +374,67 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 32 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x2000) - { itype = M32RBF_INSN_STB; m32rbf_extract_sfmt_stb (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_STB; m32rbf_extract_sfmt_stb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 34 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x2020) - { itype = M32RBF_INSN_STH; m32rbf_extract_sfmt_sth (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_STH; m32rbf_extract_sfmt_sth (this, current_cpu, pc, base_insn, entire_insn); goto done; case 36 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x2040) - { itype = M32RBF_INSN_ST; m32rbf_extract_sfmt_st (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_ST; m32rbf_extract_sfmt_st (this, current_cpu, pc, base_insn, entire_insn); goto done; case 37 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x2050) - { itype = M32RBF_INSN_UNLOCK; m32rbf_extract_sfmt_unlock (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_UNLOCK; m32rbf_extract_sfmt_unlock (this, current_cpu, pc, base_insn, entire_insn); goto done; case 38 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x2060) - { itype = M32RBF_INSN_ST_PLUS; m32rbf_extract_sfmt_st_plus (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_ST_PLUS; m32rbf_extract_sfmt_st_plus (this, current_cpu, pc, base_insn, entire_insn); goto done; case 39 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x2070) - { itype = M32RBF_INSN_ST_MINUS; m32rbf_extract_sfmt_st_plus (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_ST_MINUS; m32rbf_extract_sfmt_st_plus (this, current_cpu, pc, base_insn, entire_insn); goto done; case 40 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x2080) - { itype = M32RBF_INSN_LDB; m32rbf_extract_sfmt_ldb (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_LDB; m32rbf_extract_sfmt_ldb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 41 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x2090) - { itype = M32RBF_INSN_LDUB; m32rbf_extract_sfmt_ldb (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_LDUB; m32rbf_extract_sfmt_ldb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 42 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x20a0) - { itype = M32RBF_INSN_LDH; m32rbf_extract_sfmt_ldh (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_LDH; m32rbf_extract_sfmt_ldh (this, current_cpu, pc, base_insn, entire_insn); goto done; case 43 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x20b0) - { itype = M32RBF_INSN_LDUH; m32rbf_extract_sfmt_ldh (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_LDUH; m32rbf_extract_sfmt_ldh (this, current_cpu, pc, base_insn, entire_insn); goto done; case 44 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x20c0) - { itype = M32RBF_INSN_LD; m32rbf_extract_sfmt_ld (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_LD; m32rbf_extract_sfmt_ld (this, current_cpu, pc, base_insn, entire_insn); goto done; case 45 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x20d0) - { itype = M32RBF_INSN_LOCK; m32rbf_extract_sfmt_lock (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_LOCK; m32rbf_extract_sfmt_lock (this, current_cpu, pc, base_insn, entire_insn); goto done; case 46 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x20e0) - { itype = M32RBF_INSN_LD_PLUS; m32rbf_extract_sfmt_ld_plus (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_LD_PLUS; m32rbf_extract_sfmt_ld_plus (this, current_cpu, pc, base_insn, entire_insn); goto done; case 48 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x3000) - { itype = M32RBF_INSN_MULHI; m32rbf_extract_sfmt_mulhi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MULHI; m32rbf_extract_sfmt_mulhi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 49 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x3010) - { itype = M32RBF_INSN_MULLO; m32rbf_extract_sfmt_mulhi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MULLO; m32rbf_extract_sfmt_mulhi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 50 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x3020) - { itype = M32RBF_INSN_MULWHI; m32rbf_extract_sfmt_mulhi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MULWHI; m32rbf_extract_sfmt_mulhi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 51 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x3030) - { itype = M32RBF_INSN_MULWLO; m32rbf_extract_sfmt_mulhi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MULWLO; m32rbf_extract_sfmt_mulhi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 52 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x3040) - { itype = M32RBF_INSN_MACHI; m32rbf_extract_sfmt_machi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MACHI; m32rbf_extract_sfmt_machi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 53 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x3050) - { itype = M32RBF_INSN_MACLO; m32rbf_extract_sfmt_machi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MACLO; m32rbf_extract_sfmt_machi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 54 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x3060) - { itype = M32RBF_INSN_MACWHI; m32rbf_extract_sfmt_machi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MACWHI; m32rbf_extract_sfmt_machi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 55 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0f0) == 0x3070) - { itype = M32RBF_INSN_MACWLO; m32rbf_extract_sfmt_machi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_MACWLO; m32rbf_extract_sfmt_machi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 64 : /* fall through */ case 65 : /* fall through */ case 66 : /* fall through */ @@ -534,27 +452,19 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base case 78 : /* fall through */ case 79 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x4000) - { itype = M32RBF_INSN_ADDI; m32rbf_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_ADDI; m32rbf_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 80 : /* fall through */ case 81 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0e0) == 0x5000) - { itype = M32RBF_INSN_SRLI; m32rbf_extract_sfmt_slli (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SRLI; m32rbf_extract_sfmt_slli (this, current_cpu, pc, base_insn, entire_insn); goto done; case 82 : /* fall through */ case 83 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0e0) == 0x5020) - { itype = M32RBF_INSN_SRAI; m32rbf_extract_sfmt_slli (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SRAI; m32rbf_extract_sfmt_slli (this, current_cpu, pc, base_insn, entire_insn); goto done; case 84 : /* fall through */ case 85 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0e0) == 0x5040) - { itype = M32RBF_INSN_SLLI; m32rbf_extract_sfmt_slli (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SLLI; m32rbf_extract_sfmt_slli (this, current_cpu, pc, base_insn, entire_insn); goto done; case 87 : { unsigned int val = (((insn >> 16) & (1 << 0))); @@ -623,9 +533,7 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base case 110 : /* fall through */ case 111 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x6000) - { itype = M32RBF_INSN_LDI8; m32rbf_extract_sfmt_ldi8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_LDI8; m32rbf_extract_sfmt_ldi8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 112 : { unsigned int val = (((insn >> 24) & (15 << 0))); @@ -638,34 +546,22 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7100) - { itype = M32RBF_INSN_SETPSW; m32rbf_extract_sfmt_setpsw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SETPSW; m32rbf_extract_sfmt_setpsw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7200) - { itype = M32RBF_INSN_CLRPSW; m32rbf_extract_sfmt_clrpsw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_CLRPSW; m32rbf_extract_sfmt_clrpsw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7c00) - { itype = M32RBF_INSN_BC8; m32rbf_extract_sfmt_bc8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_BC8; m32rbf_extract_sfmt_bc8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7d00) - { itype = M32RBF_INSN_BNC8; m32rbf_extract_sfmt_bc8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_BNC8; m32rbf_extract_sfmt_bc8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7e00) - { itype = M32RBF_INSN_BL8; m32rbf_extract_sfmt_bl8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_BL8; m32rbf_extract_sfmt_bl8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7f00) - { itype = M32RBF_INSN_BRA8; m32rbf_extract_sfmt_bra8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_BRA8; m32rbf_extract_sfmt_bra8 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -690,34 +586,22 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base { case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7100) - { itype = M32RBF_INSN_SETPSW; m32rbf_extract_sfmt_setpsw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_SETPSW; m32rbf_extract_sfmt_setpsw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7200) - { itype = M32RBF_INSN_CLRPSW; m32rbf_extract_sfmt_clrpsw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_CLRPSW; m32rbf_extract_sfmt_clrpsw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7c00) - { itype = M32RBF_INSN_BC8; m32rbf_extract_sfmt_bc8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_BC8; m32rbf_extract_sfmt_bc8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7d00) - { itype = M32RBF_INSN_BNC8; m32rbf_extract_sfmt_bc8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_BNC8; m32rbf_extract_sfmt_bc8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7e00) - { itype = M32RBF_INSN_BL8; m32rbf_extract_sfmt_bl8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_BL8; m32rbf_extract_sfmt_bl8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x7f00) - { itype = M32RBF_INSN_BRA8; m32rbf_extract_sfmt_bra8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = M32RBF_INSN_BRA8; m32rbf_extract_sfmt_bra8 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -729,26 +613,11 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base if ((entire_insn & 0xfff00000) == 0x80500000) { itype = M32RBF_INSN_CMPUI; m32rbf_extract_sfmt_cmpi (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 136 : - if ((entire_insn & 0xf0f00000) == 0x80800000) - { itype = M32RBF_INSN_ADDV3; m32rbf_extract_sfmt_addv3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 138 : - if ((entire_insn & 0xf0f00000) == 0x80a00000) - { itype = M32RBF_INSN_ADD3; m32rbf_extract_sfmt_add3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 140 : - if ((entire_insn & 0xf0f00000) == 0x80c00000) - { itype = M32RBF_INSN_AND3; m32rbf_extract_sfmt_and3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 141 : - if ((entire_insn & 0xf0f00000) == 0x80d00000) - { itype = M32RBF_INSN_XOR3; m32rbf_extract_sfmt_and3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 142 : - if ((entire_insn & 0xf0f00000) == 0x80e00000) - { itype = M32RBF_INSN_OR3; m32rbf_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 136 : itype = M32RBF_INSN_ADDV3; m32rbf_extract_sfmt_addv3 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 138 : itype = M32RBF_INSN_ADD3; m32rbf_extract_sfmt_add3 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 140 : itype = M32RBF_INSN_AND3; m32rbf_extract_sfmt_and3 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 141 : itype = M32RBF_INSN_XOR3; m32rbf_extract_sfmt_and3 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 142 : itype = M32RBF_INSN_OR3; m32rbf_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 144 : if ((entire_insn & 0xf0f0ffff) == 0x90000000) { itype = M32RBF_INSN_DIV; m32rbf_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -765,34 +634,16 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base if ((entire_insn & 0xf0f0ffff) == 0x90300000) { itype = M32RBF_INSN_REMU; m32rbf_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 152 : - if ((entire_insn & 0xf0f00000) == 0x90800000) - { itype = M32RBF_INSN_SRL3; m32rbf_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 154 : - if ((entire_insn & 0xf0f00000) == 0x90a00000) - { itype = M32RBF_INSN_SRA3; m32rbf_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 156 : - if ((entire_insn & 0xf0f00000) == 0x90c00000) - { itype = M32RBF_INSN_SLL3; m32rbf_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 152 : itype = M32RBF_INSN_SRL3; m32rbf_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 154 : itype = M32RBF_INSN_SRA3; m32rbf_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 156 : itype = M32RBF_INSN_SLL3; m32rbf_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 159 : if ((entire_insn & 0xf0ff0000) == 0x90f00000) { itype = M32RBF_INSN_LDI16; m32rbf_extract_sfmt_ldi16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 160 : - if ((entire_insn & 0xf0f00000) == 0xa0000000) - { itype = M32RBF_INSN_STB_D; m32rbf_extract_sfmt_stb_d (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 162 : - if ((entire_insn & 0xf0f00000) == 0xa0200000) - { itype = M32RBF_INSN_STH_D; m32rbf_extract_sfmt_sth_d (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 164 : - if ((entire_insn & 0xf0f00000) == 0xa0400000) - { itype = M32RBF_INSN_ST_D; m32rbf_extract_sfmt_st_d (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 160 : itype = M32RBF_INSN_STB_D; m32rbf_extract_sfmt_stb_d (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 162 : itype = M32RBF_INSN_STH_D; m32rbf_extract_sfmt_sth_d (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 164 : itype = M32RBF_INSN_ST_D; m32rbf_extract_sfmt_st_d (this, current_cpu, pc, base_insn, entire_insn); goto done; case 166 : if ((entire_insn & 0xf8f00000) == 0xa0600000) { itype = M32RBF_INSN_BSET; m32rbf_extract_sfmt_bset (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -801,34 +652,13 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base if ((entire_insn & 0xf8f00000) == 0xa0700000) { itype = M32RBF_INSN_BCLR; m32rbf_extract_sfmt_bset (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 168 : - if ((entire_insn & 0xf0f00000) == 0xa0800000) - { itype = M32RBF_INSN_LDB_D; m32rbf_extract_sfmt_ldb_d (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 169 : - if ((entire_insn & 0xf0f00000) == 0xa0900000) - { itype = M32RBF_INSN_LDUB_D; m32rbf_extract_sfmt_ldb_d (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 170 : - if ((entire_insn & 0xf0f00000) == 0xa0a00000) - { itype = M32RBF_INSN_LDH_D; m32rbf_extract_sfmt_ldh_d (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 171 : - if ((entire_insn & 0xf0f00000) == 0xa0b00000) - { itype = M32RBF_INSN_LDUH_D; m32rbf_extract_sfmt_ldh_d (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 172 : - if ((entire_insn & 0xf0f00000) == 0xa0c00000) - { itype = M32RBF_INSN_LD_D; m32rbf_extract_sfmt_ld_d (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 176 : - if ((entire_insn & 0xf0f00000) == 0xb0000000) - { itype = M32RBF_INSN_BEQ; m32rbf_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 177 : - if ((entire_insn & 0xf0f00000) == 0xb0100000) - { itype = M32RBF_INSN_BNE; m32rbf_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 168 : itype = M32RBF_INSN_LDB_D; m32rbf_extract_sfmt_ldb_d (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 169 : itype = M32RBF_INSN_LDUB_D; m32rbf_extract_sfmt_ldb_d (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 170 : itype = M32RBF_INSN_LDH_D; m32rbf_extract_sfmt_ldh_d (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 171 : itype = M32RBF_INSN_LDUH_D; m32rbf_extract_sfmt_ldh_d (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 172 : itype = M32RBF_INSN_LD_D; m32rbf_extract_sfmt_ld_d (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 176 : itype = M32RBF_INSN_BEQ; m32rbf_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 177 : itype = M32RBF_INSN_BNE; m32rbf_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; case 184 : if ((entire_insn & 0xfff00000) == 0xb0800000) { itype = M32RBF_INSN_BEQZ; m32rbf_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -872,10 +702,7 @@ m32rbf_scache::decode (m32rbf_cpu* current_cpu, PCADDR pc, m32rbf_insn_word base case 236 : /* fall through */ case 237 : /* fall through */ case 238 : /* fall through */ - case 239 : - if ((entire_insn & 0xf0000000) == 0xe0000000) - { itype = M32RBF_INSN_LD24; m32rbf_extract_sfmt_ld24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = M32RBF_INSN_X_INVALID; m32rbf_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 239 : itype = M32RBF_INSN_LD24; m32rbf_extract_sfmt_ld24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 240 : /* fall through */ case 241 : /* fall through */ case 242 : /* fall through */ diff --git a/sid/component/cgen-cpu/m32r/m32r-decode.h b/sid/component/cgen-cpu/m32r/m32r-decode.h index 8ba0076dd3..312f045273 100644 --- a/sid/component/cgen-cpu/m32r/m32r-decode.h +++ b/sid/component/cgen-cpu/m32r/m32r-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/m32r/m32r-defs.h b/sid/component/cgen-cpu/m32r/m32r-defs.h index c2eb24cf8f..838b8679eb 100644 --- a/sid/component/cgen-cpu/m32r/m32r-defs.h +++ b/sid/component/cgen-cpu/m32r/m32r-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/m32r/m32r-desc.h b/sid/component/cgen-cpu/m32r/m32r-desc.h index 121d70cbff..7f72a0541c 100644 --- a/sid/component/cgen-cpu/m32r/m32r-desc.h +++ b/sid/component/cgen-cpu/m32r/m32r-desc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -12,7 +12,7 @@ This file is part of the Red Hat simulators. #ifndef DESC_M32R_H #define DESC_M32R_H -#include "opcode/cgen-bitset.h" +#include "cgen/bitset.h" namespace m32r { diff --git a/sid/component/cgen-cpu/m32r/m32r-sem.cxx b/sid/component/cgen-cpu/m32r/m32r-sem.cxx index 8af4d4edb1..6397144945 100644 --- a/sid/component/cgen-cpu/m32r/m32r-sem.cxx +++ b/sid/component/cgen-cpu/m32r/m32r-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -2559,7 +2559,7 @@ m32rbf_sem_clrpsw (m32rbf_cpu* current_cpu, m32rbf_scache* sem) PCADDR npc = pc + 2; { - SI opval = ANDSI (current_cpu->h_cr_get (((UINT) 0)), ORSI (INVBI (FLD (f_uimm8)), 65280)); + USI opval = ANDSI (current_cpu->h_cr_get (((UINT) 0)), ORSI (ZEXTQISI (INVQI (FLD (f_uimm8))), 65280)); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; current_cpu->h_cr_set (((UINT) 0), opval); @@ -2582,7 +2582,7 @@ m32rbf_sem_setpsw (m32rbf_cpu* current_cpu, m32rbf_scache* sem) PCADDR npc = pc + 2; { - SI opval = FLD (f_uimm8); + USI opval = FLD (f_uimm8); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; current_cpu->h_cr_set (((UINT) 0), opval); @@ -2605,7 +2605,7 @@ m32rbf_sem_bset (m32rbf_cpu* current_cpu, m32rbf_scache* sem) PCADDR npc = pc + 4; { - QI opval = ORQI (current_cpu->GETMEMQI (pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), SLLSI (1, SUBSI (7, FLD (f_uimm3)))); + QI opval = ORQI (current_cpu->GETMEMQI (pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), SLLQI (1, SUBSI (7, FLD (f_uimm3)))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) ADDSI (* FLD (i_sr), FLD (f_simm16)) << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; current_cpu->SETMEMQI (pc, ADDSI (* FLD (i_sr), FLD (f_simm16)), opval); @@ -2628,7 +2628,7 @@ m32rbf_sem_bclr (m32rbf_cpu* current_cpu, m32rbf_scache* sem) PCADDR npc = pc + 4; { - QI opval = ANDQI (current_cpu->GETMEMQI (pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), INVQI (SLLSI (1, SUBSI (7, FLD (f_uimm3))))); + QI opval = ANDQI (current_cpu->GETMEMQI (pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), INVQI (SLLQI (1, SUBSI (7, FLD (f_uimm3))))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "memory" << '[' << "0x" << hex << (UDI) ADDSI (* FLD (i_sr), FLD (f_simm16)) << dec << ']' << ":=0x" << hex << (SI) opval << dec << " "; current_cpu->SETMEMQI (pc, ADDSI (* FLD (i_sr), FLD (f_simm16)), opval); @@ -2651,7 +2651,7 @@ m32rbf_sem_btst (m32rbf_cpu* current_cpu, m32rbf_scache* sem) PCADDR npc = pc + 2; { - BI opval = ANDQI (SRLSI (* FLD (i_sr), SUBSI (7, FLD (f_uimm3))), 1); + BI opval = ANDQI (SRLQI (* FLD (i_sr), SUBSI (7, FLD (f_uimm3))), 1); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "cond" << ":=0x" << hex << opval << dec << " "; current_cpu->hardware.h_cond = opval; diff --git a/sid/component/cgen-cpu/mep/ChangeLog b/sid/component/cgen-cpu/mep/ChangeLog index 4bff0992a7..5273c4c2b6 100644 --- a/sid/component/cgen-cpu/mep/ChangeLog +++ b/sid/component/cgen-cpu/mep/ChangeLog @@ -1,3 +1,9 @@ +2009-10-23 Doug Evans + + * mep-desc.h: Regenerate. + * mep-decode.cxx: Regenerate. + * mep-core1-decode.cxx: Regenerate. + 2009-08-18 Ralf Wildenhues * Makefile.am (CPU_SOURCES): Replace mep-ivc2.cxx with diff --git a/sid/component/cgen-cpu/mep/mep-cop1-16-decode.cxx b/sid/component/cgen-cpu/mep/mep-cop1-16-decode.cxx index 1fced55fed..67a9af8225 100644 --- a/sid/component/cgen-cpu/mep/mep-cop1-16-decode.cxx +++ b/sid/component/cgen-cpu/mep/mep-cop1-16-decode.cxx @@ -33,9 +33,9 @@ mepcop1_16_idesc mepcop1_16_idesc::idesc_table[MEPCOP1_16_INSN_CPMOVI_B_P0S_P1 + { mepcop1_16_sem_cpunpackl_b_P0S_P1, "CPUNPACKL_B_P0S_P1", MEPCOP1_16_INSN_CPUNPACKL_B_P0S_P1, { 0|(1<fields.sfmt_cpmovi_b_P0S_P1.f + UINT f_ivc2_5u13; + + f_ivc2_5u13 = EXTRACT_MSB0_UINT (insn, 32, 13, 5); + + /* Record the fields for the semantic handler. */ + FLD (f_ivc2_5u13) = f_ivc2_5u13; + if (UNLIKELY(current_cpu->trace_extract_p)) + { + current_cpu->trace_stream + << "0x" << hex << pc << dec << " (sfmt_cpmovtocsar1_P0S_P1)\t" + << " f_ivc2_5u13:0x" << hex << f_ivc2_5u13 << dec + << endl; + } + + /* Record the fields for profiling. */ + if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) + { + } +#undef FLD +} + +void +mepcop1_16_extract_sfmt_cpmovtocc_P0S_P1 (mepcop1_16_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcop1_16_insn_word base_insn, mepcop1_16_insn_word entire_insn){ + mepcop1_16_insn_word insn = entire_insn; +#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f + UINT f_ivc2_5u13; + + f_ivc2_5u13 = EXTRACT_MSB0_UINT (insn, 32, 13, 5); + + /* Record the fields for the semantic handler. */ + FLD (f_ivc2_5u13) = f_ivc2_5u13; + if (UNLIKELY(current_cpu->trace_extract_p)) + { + current_cpu->trace_stream + << "0x" << hex << pc << dec << " (sfmt_cpmovtocc_P0S_P1)\t" + << " f_ivc2_5u13:0x" << hex << f_ivc2_5u13 << dec + << endl; + } + + /* Record the fields for profiling. */ + if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) + { + } +#undef FLD +} + +void mepcop1_16_extract_sfmt_cpcmpeqz_b_P0S_P1 (mepcop1_16_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcop1_16_insn_word base_insn, mepcop1_16_insn_word entire_insn){ mepcop1_16_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f diff --git a/sid/component/cgen-cpu/mep/mep-cop1-16-sem.cxx b/sid/component/cgen-cpu/mep/mep-cop1-16-sem.cxx index 82278ac759..f124843bc9 100644 --- a/sid/component/cgen-cpu/mep/mep-cop1-16-sem.cxx +++ b/sid/component/cgen-cpu/mep/mep-cop1-16-sem.cxx @@ -1347,6 +1347,12 @@ mepcop1_16_sem_cpmovtocsar0_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache { current_cpu->check_option_cp (pc); + { + SI opval = 0; + if (UNLIKELY(current_cpu->trace_result_p)) + current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->h_ccr_ivc2_set (((UINT) 0), opval); + } current_cpu->ivc2_cpmovtocsar0 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]); } @@ -1369,6 +1375,12 @@ mepcop1_16_sem_cpmovtocsar1_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache { current_cpu->check_option_cp (pc); + { + SI opval = 0; + if (UNLIKELY(current_cpu->trace_result_p)) + current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 15) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->h_ccr_ivc2_set (((UINT) 15), opval); + } current_cpu->ivc2_cpmovtocsar1 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]); } @@ -1391,6 +1403,12 @@ mepcop1_16_sem_cpmovtocc_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* s { current_cpu->check_option_cp (pc); + { + SI opval = 0; + if (UNLIKELY(current_cpu->trace_result_p)) + current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->h_ccr_ivc2_set (((UINT) 1), opval); + } current_cpu->ivc2_cpmovtocc (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]); } diff --git a/sid/component/cgen-cpu/mep/mep-cop1-32-decode.cxx b/sid/component/cgen-cpu/mep/mep-cop1-32-decode.cxx index 45a5d1ac81..b896140110 100644 --- a/sid/component/cgen-cpu/mep/mep-cop1-32-decode.cxx +++ b/sid/component/cgen-cpu/mep/mep-cop1-32-decode.cxx @@ -41,10 +41,10 @@ mepcop1_32_idesc mepcop1_32_idesc::idesc_table[MEPCOP1_32_INSN_CPSMSBSLLA1_W_C3 { mepcop1_32_sem_cpor3_C3, "CPOR3_C3", MEPCOP1_32_INSN_CPOR3_C3, { 0|(1<fields.sfmt_cpmoviu_h_C3.f + UINT f_ivc2_5u21; + + f_ivc2_5u21 = EXTRACT_MSB0_UINT (insn, 32, 21, 5); + + /* Record the fields for the semantic handler. */ + FLD (f_ivc2_5u21) = f_ivc2_5u21; + if (UNLIKELY(current_cpu->trace_extract_p)) + { + current_cpu->trace_stream + << "0x" << hex << pc << dec << " (sfmt_cpmovtocsar1_C3)\t" + << " f_ivc2_5u21:0x" << hex << f_ivc2_5u21 << dec + << endl; + } + + /* Record the fields for profiling. */ + if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) + { + } +#undef FLD +} + +void +mepcop1_32_extract_sfmt_cpmovtocc_C3 (mepcop1_32_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcop1_32_insn_word base_insn, mepcop1_32_insn_word entire_insn){ + mepcop1_32_insn_word insn = entire_insn; +#define FLD(f) abuf->fields.sfmt_cpmoviu_h_C3.f + UINT f_ivc2_5u21; + + f_ivc2_5u21 = EXTRACT_MSB0_UINT (insn, 32, 21, 5); + + /* Record the fields for the semantic handler. */ + FLD (f_ivc2_5u21) = f_ivc2_5u21; + if (UNLIKELY(current_cpu->trace_extract_p)) + { + current_cpu->trace_stream + << "0x" << hex << pc << dec << " (sfmt_cpmovtocc_C3)\t" + << " f_ivc2_5u21:0x" << hex << f_ivc2_5u21 << dec + << endl; + } + + /* Record the fields for profiling. */ + if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) + { + } +#undef FLD +} + +void mepcop1_32_extract_sfmt_cpmov_C3 (mepcop1_32_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcop1_32_insn_word base_insn, mepcop1_32_insn_word entire_insn){ mepcop1_32_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_cpfsftbi_C3.f diff --git a/sid/component/cgen-cpu/mep/mep-cop1-32-sem.cxx b/sid/component/cgen-cpu/mep/mep-cop1-32-sem.cxx index 0b0ab08602..e0c8e081bf 100644 --- a/sid/component/cgen-cpu/mep/mep-cop1-32-sem.cxx +++ b/sid/component/cgen-cpu/mep/mep-cop1-32-sem.cxx @@ -2480,6 +2480,12 @@ mepcop1_32_sem_cpmovtocsar0_C3 (mep_ext1_cpu* current_cpu, mepcop1_32_scache* se { current_cpu->check_option_cp (pc); + { + SI opval = 0; + if (UNLIKELY(current_cpu->trace_result_p)) + current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->h_ccr_ivc2_set (((UINT) 0), opval); + } current_cpu->ivc2_cpmovtocsar0 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u21)]); } @@ -2502,6 +2508,12 @@ mepcop1_32_sem_cpmovtocsar1_C3 (mep_ext1_cpu* current_cpu, mepcop1_32_scache* se { current_cpu->check_option_cp (pc); + { + SI opval = 0; + if (UNLIKELY(current_cpu->trace_result_p)) + current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 15) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->h_ccr_ivc2_set (((UINT) 15), opval); + } current_cpu->ivc2_cpmovtocsar1 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u21)]); } @@ -2524,6 +2536,12 @@ mepcop1_32_sem_cpmovtocc_C3 (mep_ext1_cpu* current_cpu, mepcop1_32_scache* sem) { current_cpu->check_option_cp (pc); + { + SI opval = 0; + if (UNLIKELY(current_cpu->trace_result_p)) + current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->h_ccr_ivc2_set (((UINT) 1), opval); + } current_cpu->ivc2_cpmovtocc (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u21)]); } diff --git a/sid/component/cgen-cpu/mep/mep-cop1-48-decode.cxx b/sid/component/cgen-cpu/mep/mep-cop1-48-decode.cxx index efc3e32321..9f65531d84 100644 --- a/sid/component/cgen-cpu/mep/mep-cop1-48-decode.cxx +++ b/sid/component/cgen-cpu/mep/mep-cop1-48-decode.cxx @@ -68,10 +68,10 @@ mepcop1_48_idesc mepcop1_48_idesc::idesc_table[MEPCOP1_48_INSN_CDMOVI_P0_P1 + 1] { mepcop1_48_sem_cpsub3_h_P0_P1, "CPSUB3_H_P0_P1", MEPCOP1_48_INSN_CPSUB3_H_P0_P1, { 0|(1<fields.sfmt_cpmovi_b_P0S_P1.f + UINT f_ivc2_5u13; + + f_ivc2_5u13 = EXTRACT_MSB0_UINT (insn, 32, 13, 5); + + /* Record the fields for the semantic handler. */ + FLD (f_ivc2_5u13) = f_ivc2_5u13; + if (UNLIKELY(current_cpu->trace_extract_p)) + { + current_cpu->trace_stream + << "0x" << hex << pc << dec << " (sfmt_cpmovtocsar1_P0S_P1)\t" + << " f_ivc2_5u13:0x" << hex << f_ivc2_5u13 << dec + << endl; + } + + /* Record the fields for profiling. */ + if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) + { + } +#undef FLD +} + +void +mepcop1_64_extract_sfmt_cpmovtocc_P0S_P1 (mepcop1_64_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcop1_64_insn_word base_insn, mepcop1_64_insn_word entire_insn){ + mepcop1_64_insn_word insn = entire_insn; +#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f + UINT f_ivc2_5u13; + + f_ivc2_5u13 = EXTRACT_MSB0_UINT (insn, 32, 13, 5); + + /* Record the fields for the semantic handler. */ + FLD (f_ivc2_5u13) = f_ivc2_5u13; + if (UNLIKELY(current_cpu->trace_extract_p)) + { + current_cpu->trace_stream + << "0x" << hex << pc << dec << " (sfmt_cpmovtocc_P0S_P1)\t" + << " f_ivc2_5u13:0x" << hex << f_ivc2_5u13 << dec + << endl; + } + + /* Record the fields for profiling. */ + if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) + { + } +#undef FLD +} + +void mepcop1_64_extract_sfmt_cpcmpeqz_b_P0S_P1 (mepcop1_64_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcop1_64_insn_word base_insn, mepcop1_64_insn_word entire_insn){ mepcop1_64_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_cpfmulia1u_b_P1.f diff --git a/sid/component/cgen-cpu/mep/mep-cop1-64-sem.cxx b/sid/component/cgen-cpu/mep/mep-cop1-64-sem.cxx index 94b84b2e02..957e7caaae 100644 --- a/sid/component/cgen-cpu/mep/mep-cop1-64-sem.cxx +++ b/sid/component/cgen-cpu/mep/mep-cop1-64-sem.cxx @@ -1325,6 +1325,12 @@ mepcop1_64_sem_cpmovtocsar0_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_64_scache { current_cpu->check_option_cp (pc); + { + SI opval = 0; + if (UNLIKELY(current_cpu->trace_result_p)) + current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->h_ccr_ivc2_set (((UINT) 0), opval); + } current_cpu->ivc2_cpmovtocsar0 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]); } @@ -1347,6 +1353,12 @@ mepcop1_64_sem_cpmovtocsar1_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_64_scache { current_cpu->check_option_cp (pc); + { + SI opval = 0; + if (UNLIKELY(current_cpu->trace_result_p)) + current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 15) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->h_ccr_ivc2_set (((UINT) 15), opval); + } current_cpu->ivc2_cpmovtocsar1 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]); } @@ -1369,6 +1381,12 @@ mepcop1_64_sem_cpmovtocc_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_64_scache* s { current_cpu->check_option_cp (pc); + { + SI opval = 0; + if (UNLIKELY(current_cpu->trace_result_p)) + current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << " "; + current_cpu->h_ccr_ivc2_set (((UINT) 1), opval); + } current_cpu->ivc2_cpmovtocc (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]); } diff --git a/sid/component/cgen-cpu/mep/mep-core1-decode.cxx b/sid/component/cgen-cpu/mep/mep-core1-decode.cxx index 3487cb7f4a..657bef0117 100644 --- a/sid/component/cgen-cpu/mep/mep-core1-decode.cxx +++ b/sid/component/cgen-cpu/mep/mep-core1-decode.cxx @@ -358,10 +358,6 @@ mepcore1_extract_sfmt_lw24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PC static void mepcore1_extract_sfmt_extb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn); static void -mepcore1_extract_sfmt_exth (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn); -static void -mepcore1_extract_sfmt_extub (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn); -static void mepcore1_extract_sfmt_ssarb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn); static void mepcore1_extract_sfmt_mov (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn); @@ -484,8 +480,6 @@ mepcore1_extract_sfmt_min (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCA static void mepcore1_extract_sfmt_clip (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn); static void -mepcore1_extract_sfmt_clipu (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn); -static void mepcore1_extract_sfmt_swcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn); static void mepcore1_extract_sfmt_lwcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn); @@ -568,144 +562,88 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x0) - { itype = MEPCORE1_INSN_MOV; mepcore1_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_MOV; mepcore1_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1) - { itype = MEPCORE1_INSN_NEG; mepcore1_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_NEG; mepcore1_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2) - { itype = MEPCORE1_INSN_SLT3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SLT3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3) - { itype = MEPCORE1_INSN_SLTU3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SLTU3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = MEPCORE1_INSN_SUB; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SUB; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = MEPCORE1_INSN_SBVCK3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SBVCK3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = MEPCORE1_INSN_RI_0; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_0; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = MEPCORE1_INSN_ADVCK3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_ADVCK3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x8) - { itype = MEPCORE1_INSN_SB; mepcore1_extract_sfmt_sb (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SB; mepcore1_extract_sfmt_sb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x9) - { itype = MEPCORE1_INSN_SH; mepcore1_extract_sfmt_sh (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SH; mepcore1_extract_sfmt_sh (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xa) - { itype = MEPCORE1_INSN_SW; mepcore1_extract_sfmt_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SW; mepcore1_extract_sfmt_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xb) - { itype = MEPCORE1_INSN_LBU; mepcore1_extract_sfmt_lbu (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LBU; mepcore1_extract_sfmt_lbu (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = MEPCORE1_INSN_LB; mepcore1_extract_sfmt_lb (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LB; mepcore1_extract_sfmt_lb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = MEPCORE1_INSN_LH; mepcore1_extract_sfmt_lh (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LH; mepcore1_extract_sfmt_lh (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = MEPCORE1_INSN_LW; mepcore1_extract_sfmt_lw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LW; mepcore1_extract_sfmt_lw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = MEPCORE1_INSN_LHU; mepcore1_extract_sfmt_lhu (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LHU; mepcore1_extract_sfmt_lhu (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1000) - { itype = MEPCORE1_INSN_OR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_OR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 17 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1001) - { itype = MEPCORE1_INSN_AND; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_AND; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1002) - { itype = MEPCORE1_INSN_XOR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_XOR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 19 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1003) - { itype = MEPCORE1_INSN_NOR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_NOR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 20 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1004) - { itype = MEPCORE1_INSN_MUL; mepcore1_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_MUL; mepcore1_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; case 21 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1005) - { itype = MEPCORE1_INSN_MULU; mepcore1_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_MULU; mepcore1_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; case 22 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1006) - { itype = MEPCORE1_INSN_MULR; mepcore1_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_MULR; mepcore1_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 23 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1007) - { itype = MEPCORE1_INSN_MULRU; mepcore1_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_MULRU; mepcore1_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1008) - { itype = MEPCORE1_INSN_DIV; mepcore1_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_DIV; mepcore1_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done; case 25 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1009) - { itype = MEPCORE1_INSN_DIVU; mepcore1_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_DIVU; mepcore1_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done; case 26 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x100a) - { itype = MEPCORE1_INSN_RI_1; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_1; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 27 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x100b) - { itype = MEPCORE1_INSN_RI_2; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_2; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 28 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xfc0f) == 0x100c) @@ -724,17 +662,17 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 1 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x102d) - { itype = MEPCORE1_INSN_EXTH; mepcore1_extract_sfmt_exth (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MEPCORE1_INSN_EXTH; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x108d) - { itype = MEPCORE1_INSN_EXTUB; mepcore1_extract_sfmt_extub (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MEPCORE1_INSN_EXTUB; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x10ad) - { itype = MEPCORE1_INSN_EXTUH; mepcore1_extract_sfmt_extub (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MEPCORE1_INSN_EXTUH; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -784,144 +722,88 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 36 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = MEPCORE1_INSN_TAS; mepcore1_extract_sfmt_tas (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_TAS; mepcore1_extract_sfmt_tas (this, current_cpu, pc, base_insn, entire_insn); goto done; case 37 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = MEPCORE1_INSN_RI_3; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_3; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 38 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = MEPCORE1_INSN_SL1AD3; mepcore1_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SL1AD3; mepcore1_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 39 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = MEPCORE1_INSN_SL2AD3; mepcore1_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SL2AD3; mepcore1_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 40 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = MEPCORE1_INSN_RI_4; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_4; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 41 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = MEPCORE1_INSN_RI_5; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_5; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 42 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = MEPCORE1_INSN_RI_6; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_6; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 43 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = MEPCORE1_INSN_RI_7; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_7; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 44 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = MEPCORE1_INSN_SRL; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SRL; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 45 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = MEPCORE1_INSN_SRA; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SRA; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 46 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = MEPCORE1_INSN_SLL; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SLL; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 47 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = MEPCORE1_INSN_FSFT; mepcore1_extract_sfmt_fsft (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_FSFT; mepcore1_extract_sfmt_fsft (this, current_cpu, pc, base_insn, entire_insn); goto done; case 48 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = MEPCORE1_INSN_SWCPI; mepcore1_extract_sfmt_swcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SWCPI; mepcore1_extract_sfmt_swcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 49 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3001) - { itype = MEPCORE1_INSN_LWCPI; mepcore1_extract_sfmt_lwcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LWCPI; mepcore1_extract_sfmt_lwcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 50 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = MEPCORE1_INSN_SMCPI; mepcore1_extract_sfmt_smcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SMCPI; mepcore1_extract_sfmt_smcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 51 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = MEPCORE1_INSN_LMCPI; mepcore1_extract_sfmt_lmcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LMCPI; mepcore1_extract_sfmt_lmcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 52 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = MEPCORE1_INSN_RI_8; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_8; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 53 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = MEPCORE1_INSN_RI_9; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_9; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 54 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = MEPCORE1_INSN_RI_10; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_10; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 55 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = MEPCORE1_INSN_RI_11; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_11; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 56 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = MEPCORE1_INSN_SWCP; mepcore1_extract_sfmt_swcp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SWCP; mepcore1_extract_sfmt_swcp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 57 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3009) - { itype = MEPCORE1_INSN_LWCP; mepcore1_extract_sfmt_lwcp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LWCP; mepcore1_extract_sfmt_lwcp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 58 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = MEPCORE1_INSN_SMCP; mepcore1_extract_sfmt_smcp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SMCP; mepcore1_extract_sfmt_smcp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 59 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = MEPCORE1_INSN_LMCP; mepcore1_extract_sfmt_lmcp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LMCP; mepcore1_extract_sfmt_lmcp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 60 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = MEPCORE1_INSN_RI_12; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_12; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 61 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = MEPCORE1_INSN_RI_13; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_13; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 62 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = MEPCORE1_INSN_RI_14; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_14; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 63 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = MEPCORE1_INSN_RI_15; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_15; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 64 : /* fall through */ case 68 : /* fall through */ case 72 : /* fall through */ @@ -932,9 +814,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf083) == 0x4000) - { itype = MEPCORE1_INSN_ADD3I; mepcore1_extract_sfmt_add3i (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_ADD3I; mepcore1_extract_sfmt_add3i (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf880) == 0x4880) @@ -962,19 +842,13 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 0 : /* fall through */ case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf083) == 0x4002) - { itype = MEPCORE1_INSN_SW_SP; mepcore1_extract_sfmt_sw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SW_SP; mepcore1_extract_sfmt_sw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf883) == 0x4082) - { itype = MEPCORE1_INSN_SW_TP; mepcore1_extract_sfmt_sw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SW_TP; mepcore1_extract_sfmt_sw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x4880) - { itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -989,19 +863,13 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 0 : /* fall through */ case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf083) == 0x4003) - { itype = MEPCORE1_INSN_LW_SP; mepcore1_extract_sfmt_lw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LW_SP; mepcore1_extract_sfmt_lw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf883) == 0x4083) - { itype = MEPCORE1_INSN_LW_TP; mepcore1_extract_sfmt_lw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LW_TP; mepcore1_extract_sfmt_lw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x4880) - { itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1022,53 +890,37 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 94 : /* fall through */ case 95 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = MEPCORE1_INSN_MOVI8; mepcore1_extract_sfmt_movi8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_MOVI8; mepcore1_extract_sfmt_movi8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 96 : /* fall through */ case 100 : /* fall through */ case 104 : /* fall through */ case 108 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf003) == 0x6000) - { itype = MEPCORE1_INSN_ADD; mepcore1_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_ADD; mepcore1_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 97 : /* fall through */ case 105 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6001) - { itype = MEPCORE1_INSN_SLT3I; mepcore1_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SLT3I; mepcore1_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done; case 98 : /* fall through */ case 106 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6002) - { itype = MEPCORE1_INSN_SRLI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SRLI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; case 99 : /* fall through */ case 107 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6003) - { itype = MEPCORE1_INSN_SRAI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SRAI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; case 101 : /* fall through */ case 109 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6005) - { itype = MEPCORE1_INSN_SLTU3I; mepcore1_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SLTU3I; mepcore1_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done; case 102 : /* fall through */ case 110 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6006) - { itype = MEPCORE1_INSN_SLLI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SLLI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; case 103 : /* fall through */ case 111 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6007) - { itype = MEPCORE1_INSN_SLL3; mepcore1_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SLL3; mepcore1_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 112 : { unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 20) & (1 << 0))); @@ -1164,14 +1016,10 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor } case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7004) - { itype = MEPCORE1_INSN_CACHE; mepcore1_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_CACHE; mepcore1_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done; case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7005) - { itype = MEPCORE1_INSN_PREF; mepcore1_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_PREF; mepcore1_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done; case 118 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffcf) == 0x7006) @@ -1179,9 +1027,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7007) - { itype = MEPCORE1_INSN_RI_17; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_17; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 120 : { unsigned int val = (((insn >> 20) & (15 << 0))); @@ -1201,32 +1047,22 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 14 : /* fall through */ case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00e) == 0x7008) - { itype = MEPCORE1_INSN_STC; mepcore1_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_STC; mepcore1_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x7018) - { itype = MEPCORE1_INSN_STC_LP; mepcore1_extract_sfmt_stc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_STC_LP; mepcore1_extract_sfmt_stc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x7078) - { itype = MEPCORE1_INSN_STC_HI; mepcore1_extract_sfmt_stc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_STC_HI; mepcore1_extract_sfmt_stc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x7088) - { itype = MEPCORE1_INSN_STC_LO; mepcore1_extract_sfmt_stc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_STC_LO; mepcore1_extract_sfmt_stc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 121 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00e) == 0x7008) - { itype = MEPCORE1_INSN_STC; mepcore1_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_STC; mepcore1_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 122 : { unsigned int val = (((insn >> 20) & (15 << 0))); @@ -1246,52 +1082,34 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 14 : /* fall through */ case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00e) == 0x700a) - { itype = MEPCORE1_INSN_LDC; mepcore1_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LDC; mepcore1_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x701a) - { itype = MEPCORE1_INSN_LDC_LP; mepcore1_extract_sfmt_ldc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LDC_LP; mepcore1_extract_sfmt_ldc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x707a) - { itype = MEPCORE1_INSN_LDC_HI; mepcore1_extract_sfmt_ldc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LDC_HI; mepcore1_extract_sfmt_ldc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x708a) - { itype = MEPCORE1_INSN_LDC_LO; mepcore1_extract_sfmt_ldc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LDC_LO; mepcore1_extract_sfmt_ldc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 123 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00e) == 0x700a) - { itype = MEPCORE1_INSN_LDC; mepcore1_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LDC; mepcore1_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x700c) - { itype = MEPCORE1_INSN_STCB_R; mepcore1_extract_sfmt_stcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_STCB_R; mepcore1_extract_sfmt_stcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done; case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x700d) - { itype = MEPCORE1_INSN_LDCB_R; mepcore1_extract_sfmt_ldcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LDCB_R; mepcore1_extract_sfmt_ldcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done; case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x700e) - { itype = MEPCORE1_INSN_RI_20; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_20; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x700f) - { itype = MEPCORE1_INSN_RI_21; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_21; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 128 : /* fall through */ case 130 : /* fall through */ case 132 : /* fall through */ @@ -1306,24 +1124,16 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x8000) - { itype = MEPCORE1_INSN_SB_TP; mepcore1_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SB_TP; mepcore1_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf881) == 0x8080) - { itype = MEPCORE1_INSN_SH_TP; mepcore1_extract_sfmt_sh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SH_TP; mepcore1_extract_sfmt_sh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x8800) - { itype = MEPCORE1_INSN_LB_TP; mepcore1_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LB_TP; mepcore1_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf881) == 0x8880) - { itype = MEPCORE1_INSN_LH_TP; mepcore1_extract_sfmt_lh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LH_TP; mepcore1_extract_sfmt_lh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1341,19 +1151,13 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x8000) - { itype = MEPCORE1_INSN_SB_TP; mepcore1_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_SB_TP; mepcore1_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x8800) - { itype = MEPCORE1_INSN_LB_TP; mepcore1_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LB_TP; mepcore1_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf881) == 0x8881) - { itype = MEPCORE1_INSN_LHU_TP; mepcore1_extract_sfmt_lhu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_LHU_TP; mepcore1_extract_sfmt_lhu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1374,9 +1178,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 158 : /* fall through */ case 159 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = MEPCORE1_INSN_ADD3; mepcore1_extract_sfmt_add3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_ADD3; mepcore1_extract_sfmt_add3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 160 : /* fall through */ case 162 : /* fall through */ case 164 : /* fall through */ @@ -1386,9 +1188,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 172 : /* fall through */ case 174 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf001) == 0xa000) - { itype = MEPCORE1_INSN_BEQZ; mepcore1_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_BEQZ; mepcore1_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done; case 161 : /* fall through */ case 163 : /* fall through */ case 165 : /* fall through */ @@ -1398,9 +1198,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 173 : /* fall through */ case 175 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf001) == 0xa001) - { itype = MEPCORE1_INSN_BNEZ; mepcore1_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_BNEZ; mepcore1_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done; case 176 : /* fall through */ case 178 : /* fall through */ case 180 : /* fall through */ @@ -1410,9 +1208,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 188 : /* fall through */ case 190 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf001) == 0xb000) - { itype = MEPCORE1_INSN_BRA; mepcore1_extract_sfmt_bra (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_BRA; mepcore1_extract_sfmt_bra (this, current_cpu, pc, base_insn, entire_insn); goto done; case 177 : /* fall through */ case 179 : /* fall through */ case 181 : /* fall through */ @@ -1422,13 +1218,8 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 189 : /* fall through */ case 191 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf001) == 0xb001) - { itype = MEPCORE1_INSN_BSR12; mepcore1_extract_sfmt_bsr12 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 192 : - if ((entire_insn & 0xf00f0000) == 0xc0000000) - { itype = MEPCORE1_INSN_ADD3X; mepcore1_extract_sfmt_add3x (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_BSR12; mepcore1_extract_sfmt_bsr12 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 192 : itype = MEPCORE1_INSN_ADD3X; mepcore1_extract_sfmt_add3x (this, current_cpu, pc, base_insn, entire_insn); goto done; case 193 : { unsigned int val = (((insn >> 20) & (3 << 0))); @@ -1449,63 +1240,22 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } - case 194 : - if ((entire_insn & 0xf00f0000) == 0xc0020000) - { itype = MEPCORE1_INSN_SLT3X; mepcore1_extract_sfmt_slt3x (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 195 : - if ((entire_insn & 0xf00f0000) == 0xc0030000) - { itype = MEPCORE1_INSN_SLTU3X; mepcore1_extract_sfmt_sltu3x (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 196 : - if ((entire_insn & 0xf00f0000) == 0xc0040000) - { itype = MEPCORE1_INSN_OR3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 197 : - if ((entire_insn & 0xf00f0000) == 0xc0050000) - { itype = MEPCORE1_INSN_AND3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 198 : - if ((entire_insn & 0xf00f0000) == 0xc0060000) - { itype = MEPCORE1_INSN_XOR3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 194 : itype = MEPCORE1_INSN_SLT3X; mepcore1_extract_sfmt_slt3x (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 195 : itype = MEPCORE1_INSN_SLTU3X; mepcore1_extract_sfmt_sltu3x (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 196 : itype = MEPCORE1_INSN_OR3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 197 : itype = MEPCORE1_INSN_AND3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 198 : itype = MEPCORE1_INSN_XOR3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 199 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc007) - { itype = MEPCORE1_INSN_RI_22; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 200 : - if ((entire_insn & 0xf00f0000) == 0xc0080000) - { itype = MEPCORE1_INSN_SB16; mepcore1_extract_sfmt_sb16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 201 : - if ((entire_insn & 0xf00f0000) == 0xc0090000) - { itype = MEPCORE1_INSN_SH16; mepcore1_extract_sfmt_sh16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 202 : - if ((entire_insn & 0xf00f0000) == 0xc00a0000) - { itype = MEPCORE1_INSN_SW16; mepcore1_extract_sfmt_sw16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 203 : - if ((entire_insn & 0xf00f0000) == 0xc00b0000) - { itype = MEPCORE1_INSN_LBU16; mepcore1_extract_sfmt_lbu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 204 : - if ((entire_insn & 0xf00f0000) == 0xc00c0000) - { itype = MEPCORE1_INSN_LB16; mepcore1_extract_sfmt_lb16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 205 : - if ((entire_insn & 0xf00f0000) == 0xc00d0000) - { itype = MEPCORE1_INSN_LH16; mepcore1_extract_sfmt_lh16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 206 : - if ((entire_insn & 0xf00f0000) == 0xc00e0000) - { itype = MEPCORE1_INSN_LW16; mepcore1_extract_sfmt_lw16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 207 : - if ((entire_insn & 0xf00f0000) == 0xc00f0000) - { itype = MEPCORE1_INSN_LHU16; mepcore1_extract_sfmt_lhu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_22; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 200 : itype = MEPCORE1_INSN_SB16; mepcore1_extract_sfmt_sb16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 201 : itype = MEPCORE1_INSN_SH16; mepcore1_extract_sfmt_sh16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 202 : itype = MEPCORE1_INSN_SW16; mepcore1_extract_sfmt_sw16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 203 : itype = MEPCORE1_INSN_LBU16; mepcore1_extract_sfmt_lbu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 204 : itype = MEPCORE1_INSN_LB16; mepcore1_extract_sfmt_lb16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 205 : itype = MEPCORE1_INSN_LH16; mepcore1_extract_sfmt_lh16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 206 : itype = MEPCORE1_INSN_LW16; mepcore1_extract_sfmt_lw16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 207 : itype = MEPCORE1_INSN_LHU16; mepcore1_extract_sfmt_lhu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 208 : /* fall through */ case 209 : /* fall through */ case 210 : /* fall through */ @@ -1523,10 +1273,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : if ((entire_insn & 0xff0f0000) == 0xd8040000) { itype = MEPCORE1_INSN_BCPEQ; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -1539,10 +1286,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : if ((entire_insn & 0xff0f0000) == 0xd8050000) { itype = MEPCORE1_INSN_BCPNE; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -1555,10 +1299,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : if ((entire_insn & 0xff0f0000) == 0xd8060000) { itype = MEPCORE1_INSN_BCPAT; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -1571,10 +1312,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : if ((entire_insn & 0xff0f0000) == 0xd8070000) { itype = MEPCORE1_INSN_BCPAF; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -1587,14 +1325,8 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : - if ((entire_insn & 0xf80f0000) == 0xd8080000) - { itype = MEPCORE1_INSN_JMP24; mepcore1_extract_sfmt_jmp24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : itype = MEPCORE1_INSN_JMP24; mepcore1_extract_sfmt_jmp24 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1603,14 +1335,8 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : - if ((entire_insn & 0xf80f0000) == 0xd8090000) - { itype = MEPCORE1_INSN_BSR24; mepcore1_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : itype = MEPCORE1_INSN_BSR24; mepcore1_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1619,51 +1345,24 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : - if ((entire_insn & 0xf80f0000) == 0xd80b0000) - { itype = MEPCORE1_INSN_BSRV; mepcore1_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : itype = MEPCORE1_INSN_BSRV; mepcore1_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } - case 224 : - if ((entire_insn & 0xf00f0000) == 0xe0000000) - { itype = MEPCORE1_INSN_BEQI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 225 : - if ((entire_insn & 0xf00f0000) == 0xe0010000) - { itype = MEPCORE1_INSN_BEQ; mepcore1_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 224 : itype = MEPCORE1_INSN_BEQI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 225 : itype = MEPCORE1_INSN_BEQ; mepcore1_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; case 226 : /* fall through */ case 230 : /* fall through */ case 234 : /* fall through */ - case 238 : - if ((entire_insn & 0xf0030000) == 0xe0020000) - { itype = MEPCORE1_INSN_SW24; mepcore1_extract_sfmt_sw24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 238 : itype = MEPCORE1_INSN_SW24; mepcore1_extract_sfmt_sw24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 227 : /* fall through */ case 231 : /* fall through */ case 235 : /* fall through */ - case 239 : - if ((entire_insn & 0xf0030000) == 0xe0030000) - { itype = MEPCORE1_INSN_LW24; mepcore1_extract_sfmt_lw24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 228 : - if ((entire_insn & 0xf00f0000) == 0xe0040000) - { itype = MEPCORE1_INSN_BNEI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 229 : - if ((entire_insn & 0xf00f0000) == 0xe0050000) - { itype = MEPCORE1_INSN_BNE; mepcore1_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 232 : - if ((entire_insn & 0xf00f0000) == 0xe0080000) - { itype = MEPCORE1_INSN_BGEI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 239 : itype = MEPCORE1_INSN_LW24; mepcore1_extract_sfmt_lw24 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 228 : itype = MEPCORE1_INSN_BNEI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 229 : itype = MEPCORE1_INSN_BNE; mepcore1_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 232 : itype = MEPCORE1_INSN_BGEI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 233 : { unsigned int val = (((insn >> 20) & (1 << 0))); @@ -1680,19 +1379,11 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } - case 236 : - if ((entire_insn & 0xf00f0000) == 0xe00c0000) - { itype = MEPCORE1_INSN_BLTI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 236 : itype = MEPCORE1_INSN_BLTI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 237 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe00d) - { itype = MEPCORE1_INSN_RI_23; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 240 : - if ((entire_insn & 0xf00f0000) == 0xf0000000) - { itype = MEPCORE1_INSN_DSP; mepcore1_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_23; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 240 : itype = MEPCORE1_INSN_DSP; mepcore1_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done; case 241 : { unsigned int val = (((insn >> 8) & (3 << 4)) | ((insn >> 0) & (15 << 0))); @@ -1750,7 +1441,7 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor case 17 : /* fall through */ case 25 : if ((entire_insn & 0xf0ffff07) == 0xf0011001) - { itype = MEPCORE1_INSN_CLIPU; mepcore1_extract_sfmt_clipu (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MEPCORE1_INSN_CLIPU; mepcore1_extract_sfmt_clip (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 32 : if ((entire_insn & 0xf00ff0ff) == 0xf0012000) @@ -1783,14 +1474,8 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } - case 242 : - if ((entire_insn & 0xf00f0000) == 0xf0020000) - { itype = MEPCORE1_INSN_UCI; mepcore1_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 243 : - if ((entire_insn & 0xf00f0000) == 0xf0030000) - { itype = MEPCORE1_INSN_PREFD; mepcore1_extract_sfmt_prefd (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 242 : itype = MEPCORE1_INSN_UCI; mepcore1_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 243 : itype = MEPCORE1_INSN_PREFD; mepcore1_extract_sfmt_prefd (this, current_cpu, pc, base_insn, entire_insn); goto done; case 244 : { unsigned int val = (((insn >> 20) & (1 << 0))); @@ -1812,126 +1497,36 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor unsigned int val = (((insn >> 10) & (63 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf00ffc00) == 0xf0050000) - { itype = MEPCORE1_INSN_SBCPA; mepcore1_extract_sfmt_sbcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : - if ((entire_insn & 0xf00ffc00) == 0xf0050800) - { itype = MEPCORE1_INSN_SBCPM0; mepcore1_extract_sfmt_sbcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : - if ((entire_insn & 0xf00ffc00) == 0xf0050c00) - { itype = MEPCORE1_INSN_SBCPM1; mepcore1_extract_sfmt_sbcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 4 : - if ((entire_insn & 0xf00ffc00) == 0xf0051000) - { itype = MEPCORE1_INSN_SHCPA; mepcore1_extract_sfmt_shcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 6 : - if ((entire_insn & 0xf00ffc00) == 0xf0051800) - { itype = MEPCORE1_INSN_SHCPM0; mepcore1_extract_sfmt_shcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 7 : - if ((entire_insn & 0xf00ffc00) == 0xf0051c00) - { itype = MEPCORE1_INSN_SHCPM1; mepcore1_extract_sfmt_shcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 8 : - if ((entire_insn & 0xf00ffc00) == 0xf0052000) - { itype = MEPCORE1_INSN_SWCPA; mepcore1_extract_sfmt_swcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 10 : - if ((entire_insn & 0xf00ffc00) == 0xf0052800) - { itype = MEPCORE1_INSN_SWCPM0; mepcore1_extract_sfmt_swcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 11 : - if ((entire_insn & 0xf00ffc00) == 0xf0052c00) - { itype = MEPCORE1_INSN_SWCPM1; mepcore1_extract_sfmt_swcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 12 : - if ((entire_insn & 0xf00ffc00) == 0xf0053000) - { itype = MEPCORE1_INSN_SMCPA; mepcore1_extract_sfmt_smcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 14 : - if ((entire_insn & 0xf00ffc00) == 0xf0053800) - { itype = MEPCORE1_INSN_SMCPM0; mepcore1_extract_sfmt_smcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 15 : - if ((entire_insn & 0xf00ffc00) == 0xf0053c00) - { itype = MEPCORE1_INSN_SMCPM1; mepcore1_extract_sfmt_smcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 16 : - if ((entire_insn & 0xf00ffc00) == 0xf0054000) - { itype = MEPCORE1_INSN_LBCPA; mepcore1_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 18 : - if ((entire_insn & 0xf00ffc00) == 0xf0054800) - { itype = MEPCORE1_INSN_LBCPM0; mepcore1_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 19 : - if ((entire_insn & 0xf00ffc00) == 0xf0054c00) - { itype = MEPCORE1_INSN_LBCPM1; mepcore1_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 20 : - if ((entire_insn & 0xf00ffc00) == 0xf0055000) - { itype = MEPCORE1_INSN_LHCPA; mepcore1_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 22 : - if ((entire_insn & 0xf00ffc00) == 0xf0055800) - { itype = MEPCORE1_INSN_LHCPM0; mepcore1_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 23 : - if ((entire_insn & 0xf00ffc00) == 0xf0055c00) - { itype = MEPCORE1_INSN_LHCPM1; mepcore1_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 24 : - if ((entire_insn & 0xf00ffc00) == 0xf0056000) - { itype = MEPCORE1_INSN_LWCPA; mepcore1_extract_sfmt_lwcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 26 : - if ((entire_insn & 0xf00ffc00) == 0xf0056800) - { itype = MEPCORE1_INSN_LWCPM0; mepcore1_extract_sfmt_lwcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 27 : - if ((entire_insn & 0xf00ffc00) == 0xf0056c00) - { itype = MEPCORE1_INSN_LWCPM1; mepcore1_extract_sfmt_lwcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 28 : - if ((entire_insn & 0xf00ffc00) == 0xf0057000) - { itype = MEPCORE1_INSN_LMCPA; mepcore1_extract_sfmt_lmcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 30 : - if ((entire_insn & 0xf00ffc00) == 0xf0057800) - { itype = MEPCORE1_INSN_LMCPM0; mepcore1_extract_sfmt_lmcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 31 : - if ((entire_insn & 0xf00ffc00) == 0xf0057c00) - { itype = MEPCORE1_INSN_LMCPM1; mepcore1_extract_sfmt_lmcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 48 : - if ((entire_insn & 0xf00ffc00) == 0xf005c000) - { itype = MEPCORE1_INSN_LBUCPA; mepcore1_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 50 : - if ((entire_insn & 0xf00ffc00) == 0xf005c800) - { itype = MEPCORE1_INSN_LBUCPM0; mepcore1_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 51 : - if ((entire_insn & 0xf00ffc00) == 0xf005cc00) - { itype = MEPCORE1_INSN_LBUCPM1; mepcore1_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 52 : - if ((entire_insn & 0xf00ffc00) == 0xf005d000) - { itype = MEPCORE1_INSN_LHUCPA; mepcore1_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 54 : - if ((entire_insn & 0xf00ffc00) == 0xf005d800) - { itype = MEPCORE1_INSN_LHUCPM0; mepcore1_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 55 : - if ((entire_insn & 0xf00ffc00) == 0xf005dc00) - { itype = MEPCORE1_INSN_LHUCPM1; mepcore1_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEPCORE1_INSN_SBCPA; mepcore1_extract_sfmt_sbcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : itype = MEPCORE1_INSN_SBCPM0; mepcore1_extract_sfmt_sbcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : itype = MEPCORE1_INSN_SBCPM1; mepcore1_extract_sfmt_sbcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 4 : itype = MEPCORE1_INSN_SHCPA; mepcore1_extract_sfmt_shcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 6 : itype = MEPCORE1_INSN_SHCPM0; mepcore1_extract_sfmt_shcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 7 : itype = MEPCORE1_INSN_SHCPM1; mepcore1_extract_sfmt_shcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 8 : itype = MEPCORE1_INSN_SWCPA; mepcore1_extract_sfmt_swcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 10 : itype = MEPCORE1_INSN_SWCPM0; mepcore1_extract_sfmt_swcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 11 : itype = MEPCORE1_INSN_SWCPM1; mepcore1_extract_sfmt_swcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 12 : itype = MEPCORE1_INSN_SMCPA; mepcore1_extract_sfmt_smcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 14 : itype = MEPCORE1_INSN_SMCPM0; mepcore1_extract_sfmt_smcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 15 : itype = MEPCORE1_INSN_SMCPM1; mepcore1_extract_sfmt_smcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 16 : itype = MEPCORE1_INSN_LBCPA; mepcore1_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 18 : itype = MEPCORE1_INSN_LBCPM0; mepcore1_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 19 : itype = MEPCORE1_INSN_LBCPM1; mepcore1_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 20 : itype = MEPCORE1_INSN_LHCPA; mepcore1_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 22 : itype = MEPCORE1_INSN_LHCPM0; mepcore1_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 23 : itype = MEPCORE1_INSN_LHCPM1; mepcore1_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 24 : itype = MEPCORE1_INSN_LWCPA; mepcore1_extract_sfmt_lwcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 26 : itype = MEPCORE1_INSN_LWCPM0; mepcore1_extract_sfmt_lwcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 27 : itype = MEPCORE1_INSN_LWCPM1; mepcore1_extract_sfmt_lwcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 28 : itype = MEPCORE1_INSN_LMCPA; mepcore1_extract_sfmt_lmcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 30 : itype = MEPCORE1_INSN_LMCPM0; mepcore1_extract_sfmt_lmcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 31 : itype = MEPCORE1_INSN_LMCPM1; mepcore1_extract_sfmt_lmcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 48 : itype = MEPCORE1_INSN_LBUCPA; mepcore1_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 50 : itype = MEPCORE1_INSN_LBUCPM0; mepcore1_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 51 : itype = MEPCORE1_INSN_LBUCPM1; mepcore1_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 52 : itype = MEPCORE1_INSN_LHUCPA; mepcore1_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 54 : itype = MEPCORE1_INSN_LHUCPM0; mepcore1_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 55 : itype = MEPCORE1_INSN_LHUCPM1; mepcore1_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1969,25 +1564,11 @@ mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_wor } case 248 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf008) - { itype = MEPCORE1_INSN_RI_26; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 252 : - if ((entire_insn & 0xf00f0000) == 0xf00c0000) - { itype = MEPCORE1_INSN_SWCP16; mepcore1_extract_sfmt_swcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 253 : - if ((entire_insn & 0xf00f0000) == 0xf00d0000) - { itype = MEPCORE1_INSN_LWCP16; mepcore1_extract_sfmt_lwcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 254 : - if ((entire_insn & 0xf00f0000) == 0xf00e0000) - { itype = MEPCORE1_INSN_SMCP16; mepcore1_extract_sfmt_smcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 255 : - if ((entire_insn & 0xf00f0000) == 0xf00f0000) - { itype = MEPCORE1_INSN_LMCP16; mepcore1_extract_sfmt_lmcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEPCORE1_INSN_RI_26; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 252 : itype = MEPCORE1_INSN_SWCP16; mepcore1_extract_sfmt_swcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 253 : itype = MEPCORE1_INSN_LWCP16; mepcore1_extract_sfmt_lwcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 254 : itype = MEPCORE1_INSN_SMCP16; mepcore1_extract_sfmt_smcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 255 : itype = MEPCORE1_INSN_LMCP16; mepcore1_extract_sfmt_lmcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3574,62 +3155,6 @@ mepcore1_extract_sfmt_extb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PC } void -mepcore1_extract_sfmt_exth (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){ - mepcore1_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_clip.f - UINT f_rn; - - f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_rn) = f_rn; - FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn]; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_exth)\t" - << " f_rn:0x" << hex << f_rn << dec - << endl; - } - - /* Record the fields for profiling. */ - if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) - { - FLD (in_rn) = f_rn; - FLD (out_rn) = f_rn; - } -#undef FLD -} - -void -mepcore1_extract_sfmt_extub (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){ - mepcore1_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_clip.f - UINT f_rn; - - f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_rn) = f_rn; - FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn]; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_extub)\t" - << " f_rn:0x" << hex << f_rn << dec - << endl; - } - - /* Record the fields for profiling. */ - if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) - { - FLD (in_rn) = f_rn; - FLD (out_rn) = f_rn; - } -#undef FLD -} - -void mepcore1_extract_sfmt_ssarb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){ mepcore1_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_ssarb.f @@ -5548,38 +5073,6 @@ mepcore1_extract_sfmt_clip (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PC } void -mepcore1_extract_sfmt_clipu (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){ - mepcore1_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_clip.f - UINT f_rn; - UINT f_5u24; - - f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4); - f_5u24 = EXTRACT_MSB0_UINT (insn, 32, 24, 5); - - /* Record the fields for the semantic handler. */ - FLD (f_5u24) = f_5u24; - FLD (f_rn) = f_rn; - FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn]; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_clipu)\t" - << " f_5u24:0x" << hex << f_5u24 << dec - << " f_rn:0x" << hex << f_rn << dec - << endl; - } - - /* Record the fields for profiling. */ - if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) - { - FLD (in_rn) = f_rn; - FLD (out_rn) = f_rn; - } -#undef FLD -} - -void mepcore1_extract_sfmt_swcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){ mepcore1_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_swcp16.f diff --git a/sid/component/cgen-cpu/mep/mep-core1-sem.cxx b/sid/component/cgen-cpu/mep/mep-core1-sem.cxx index f449e304be..a862d75691 100644 --- a/sid/component/cgen-cpu/mep/mep-core1-sem.cxx +++ b/sid/component/cgen-cpu/mep/mep-core1-sem.cxx @@ -4146,7 +4146,7 @@ mepcore1_sem_btstm (mep_ext1_cpu* current_cpu, mepcore1_scache* sem) { current_cpu->check_option_bit (pc); { - SI opval = ZEXTQISI (ANDQI (current_cpu->GETMEMQI (pc, * FLD (i_rma)), SLLSI (1, FLD (f_3u5)))); + SI opval = ZEXTQISI (ANDQI (current_cpu->GETMEMUQI (pc, * FLD (i_rma)), SLLSI (1, FLD (f_3u5)))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gpr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; current_cpu->hardware.h_gpr[((UINT) 0)] = opval; diff --git a/sid/component/cgen-cpu/mep/mep-decode.cxx b/sid/component/cgen-cpu/mep/mep-decode.cxx index b553ce7954..dbb2fdb1e5 100644 --- a/sid/component/cgen-cpu/mep/mep-decode.cxx +++ b/sid/component/cgen-cpu/mep/mep-decode.cxx @@ -358,10 +358,6 @@ mep_extract_sfmt_lw24 (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, static void mep_extract_sfmt_extb (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn); static void -mep_extract_sfmt_exth (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn); -static void -mep_extract_sfmt_extub (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn); -static void mep_extract_sfmt_ssarb (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn); static void mep_extract_sfmt_mov (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn); @@ -484,8 +480,6 @@ mep_extract_sfmt_min (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, m static void mep_extract_sfmt_clip (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn); static void -mep_extract_sfmt_clipu (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn); -static void mep_extract_sfmt_swcp (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn); static void mep_extract_sfmt_lwcp (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn); @@ -568,144 +562,88 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x0) - { itype = MEP_INSN_MOV; mep_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_MOV; mep_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1) - { itype = MEP_INSN_NEG; mep_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_NEG; mep_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2) - { itype = MEP_INSN_SLT3; mep_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SLT3; mep_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3) - { itype = MEP_INSN_SLTU3; mep_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SLTU3; mep_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = MEP_INSN_SUB; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SUB; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = MEP_INSN_SBVCK3; mep_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SBVCK3; mep_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = MEP_INSN_RI_0; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_0; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = MEP_INSN_ADVCK3; mep_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_ADVCK3; mep_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x8) - { itype = MEP_INSN_SB; mep_extract_sfmt_sb (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SB; mep_extract_sfmt_sb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x9) - { itype = MEP_INSN_SH; mep_extract_sfmt_sh (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SH; mep_extract_sfmt_sh (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xa) - { itype = MEP_INSN_SW; mep_extract_sfmt_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SW; mep_extract_sfmt_sw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xb) - { itype = MEP_INSN_LBU; mep_extract_sfmt_lbu (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LBU; mep_extract_sfmt_lbu (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = MEP_INSN_LB; mep_extract_sfmt_lb (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LB; mep_extract_sfmt_lb (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = MEP_INSN_LH; mep_extract_sfmt_lh (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LH; mep_extract_sfmt_lh (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = MEP_INSN_LW; mep_extract_sfmt_lw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LW; mep_extract_sfmt_lw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = MEP_INSN_LHU; mep_extract_sfmt_lhu (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LHU; mep_extract_sfmt_lhu (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1000) - { itype = MEP_INSN_OR; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_OR; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 17 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1001) - { itype = MEP_INSN_AND; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_AND; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1002) - { itype = MEP_INSN_XOR; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_XOR; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 19 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1003) - { itype = MEP_INSN_NOR; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_NOR; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 20 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1004) - { itype = MEP_INSN_MUL; mep_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_MUL; mep_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; case 21 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1005) - { itype = MEP_INSN_MULU; mep_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_MULU; mep_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; case 22 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1006) - { itype = MEP_INSN_MULR; mep_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_MULR; mep_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 23 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1007) - { itype = MEP_INSN_MULRU; mep_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_MULRU; mep_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1008) - { itype = MEP_INSN_DIV; mep_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_DIV; mep_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done; case 25 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x1009) - { itype = MEP_INSN_DIVU; mep_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_DIVU; mep_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done; case 26 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x100a) - { itype = MEP_INSN_RI_1; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_1; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 27 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x100b) - { itype = MEP_INSN_RI_2; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_2; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 28 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xfc0f) == 0x100c) @@ -724,17 +662,17 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 1 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x102d) - { itype = MEP_INSN_EXTH; mep_extract_sfmt_exth (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MEP_INSN_EXTH; mep_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x108d) - { itype = MEP_INSN_EXTUB; mep_extract_sfmt_extub (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MEP_INSN_EXTUB; mep_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x10ad) - { itype = MEP_INSN_EXTUH; mep_extract_sfmt_extub (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MEP_INSN_EXTUH; mep_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -784,144 +722,88 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 36 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = MEP_INSN_TAS; mep_extract_sfmt_tas (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_TAS; mep_extract_sfmt_tas (this, current_cpu, pc, base_insn, entire_insn); goto done; case 37 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = MEP_INSN_RI_3; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_3; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 38 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = MEP_INSN_SL1AD3; mep_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SL1AD3; mep_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 39 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = MEP_INSN_SL2AD3; mep_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SL2AD3; mep_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 40 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = MEP_INSN_RI_4; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_4; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 41 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = MEP_INSN_RI_5; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_5; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 42 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = MEP_INSN_RI_6; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_6; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 43 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = MEP_INSN_RI_7; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_7; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 44 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = MEP_INSN_SRL; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SRL; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 45 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = MEP_INSN_SRA; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SRA; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 46 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = MEP_INSN_SLL; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SLL; mep_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done; case 47 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = MEP_INSN_FSFT; mep_extract_sfmt_fsft (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_FSFT; mep_extract_sfmt_fsft (this, current_cpu, pc, base_insn, entire_insn); goto done; case 48 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = MEP_INSN_SWCPI; mep_extract_sfmt_swcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SWCPI; mep_extract_sfmt_swcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 49 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3001) - { itype = MEP_INSN_LWCPI; mep_extract_sfmt_lwcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LWCPI; mep_extract_sfmt_lwcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 50 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = MEP_INSN_SMCPI; mep_extract_sfmt_smcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SMCPI; mep_extract_sfmt_smcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 51 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = MEP_INSN_LMCPI; mep_extract_sfmt_lmcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LMCPI; mep_extract_sfmt_lmcpi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 52 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = MEP_INSN_RI_8; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_8; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 53 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = MEP_INSN_RI_9; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_9; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 54 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = MEP_INSN_RI_10; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_10; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 55 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = MEP_INSN_RI_11; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_11; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 56 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = MEP_INSN_SWCP; mep_extract_sfmt_swcp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SWCP; mep_extract_sfmt_swcp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 57 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3009) - { itype = MEP_INSN_LWCP; mep_extract_sfmt_lwcp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LWCP; mep_extract_sfmt_lwcp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 58 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = MEP_INSN_SMCP; mep_extract_sfmt_smcp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SMCP; mep_extract_sfmt_smcp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 59 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = MEP_INSN_LMCP; mep_extract_sfmt_lmcp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LMCP; mep_extract_sfmt_lmcp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 60 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = MEP_INSN_RI_12; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_12; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 61 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = MEP_INSN_RI_13; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_13; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 62 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = MEP_INSN_RI_14; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_14; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 63 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = MEP_INSN_RI_15; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_15; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 64 : /* fall through */ case 68 : /* fall through */ case 72 : /* fall through */ @@ -932,9 +814,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf083) == 0x4000) - { itype = MEP_INSN_ADD3I; mep_extract_sfmt_add3i (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_ADD3I; mep_extract_sfmt_add3i (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf880) == 0x4880) @@ -962,19 +842,13 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 0 : /* fall through */ case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf083) == 0x4002) - { itype = MEP_INSN_SW_SP; mep_extract_sfmt_sw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SW_SP; mep_extract_sfmt_sw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf883) == 0x4082) - { itype = MEP_INSN_SW_TP; mep_extract_sfmt_sw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SW_TP; mep_extract_sfmt_sw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x4880) - { itype = MEP_INSN_LBU_TP; mep_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LBU_TP; mep_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -989,19 +863,13 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 0 : /* fall through */ case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf083) == 0x4003) - { itype = MEP_INSN_LW_SP; mep_extract_sfmt_lw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LW_SP; mep_extract_sfmt_lw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf883) == 0x4083) - { itype = MEP_INSN_LW_TP; mep_extract_sfmt_lw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LW_TP; mep_extract_sfmt_lw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x4880) - { itype = MEP_INSN_LBU_TP; mep_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LBU_TP; mep_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1022,53 +890,37 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 94 : /* fall through */ case 95 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = MEP_INSN_MOVI8; mep_extract_sfmt_movi8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_MOVI8; mep_extract_sfmt_movi8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 96 : /* fall through */ case 100 : /* fall through */ case 104 : /* fall through */ case 108 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf003) == 0x6000) - { itype = MEP_INSN_ADD; mep_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_ADD; mep_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; case 97 : /* fall through */ case 105 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6001) - { itype = MEP_INSN_SLT3I; mep_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SLT3I; mep_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done; case 98 : /* fall through */ case 106 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6002) - { itype = MEP_INSN_SRLI; mep_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SRLI; mep_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; case 99 : /* fall through */ case 107 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6003) - { itype = MEP_INSN_SRAI; mep_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SRAI; mep_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; case 101 : /* fall through */ case 109 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6005) - { itype = MEP_INSN_SLTU3I; mep_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SLTU3I; mep_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done; case 102 : /* fall through */ case 110 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6006) - { itype = MEP_INSN_SLLI; mep_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SLLI; mep_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done; case 103 : /* fall through */ case 111 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf007) == 0x6007) - { itype = MEP_INSN_SLL3; mep_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SLL3; mep_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 112 : { unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 20) & (1 << 0))); @@ -1164,14 +1016,10 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in } case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7004) - { itype = MEP_INSN_CACHE; mep_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_CACHE; mep_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done; case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7005) - { itype = MEP_INSN_PREF; mep_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_PREF; mep_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done; case 118 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffcf) == 0x7006) @@ -1179,9 +1027,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7007) - { itype = MEP_INSN_RI_17; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_17; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 120 : { unsigned int val = (((insn >> 20) & (15 << 0))); @@ -1201,32 +1047,22 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 14 : /* fall through */ case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00e) == 0x7008) - { itype = MEP_INSN_STC; mep_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_STC; mep_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x7018) - { itype = MEP_INSN_STC_LP; mep_extract_sfmt_stc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_STC_LP; mep_extract_sfmt_stc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x7078) - { itype = MEP_INSN_STC_HI; mep_extract_sfmt_stc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_STC_HI; mep_extract_sfmt_stc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x7088) - { itype = MEP_INSN_STC_LO; mep_extract_sfmt_stc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_STC_LO; mep_extract_sfmt_stc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 121 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00e) == 0x7008) - { itype = MEP_INSN_STC; mep_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_STC; mep_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 122 : { unsigned int val = (((insn >> 20) & (15 << 0))); @@ -1246,52 +1082,34 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 14 : /* fall through */ case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00e) == 0x700a) - { itype = MEP_INSN_LDC; mep_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LDC; mep_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x701a) - { itype = MEP_INSN_LDC_LP; mep_extract_sfmt_ldc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LDC_LP; mep_extract_sfmt_ldc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x707a) - { itype = MEP_INSN_LDC_HI; mep_extract_sfmt_ldc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LDC_HI; mep_extract_sfmt_ldc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x708a) - { itype = MEP_INSN_LDC_LO; mep_extract_sfmt_ldc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LDC_LO; mep_extract_sfmt_ldc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 123 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00e) == 0x700a) - { itype = MEP_INSN_LDC; mep_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LDC; mep_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x700c) - { itype = MEP_INSN_STCB_R; mep_extract_sfmt_stcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_STCB_R; mep_extract_sfmt_stcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done; case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x700d) - { itype = MEP_INSN_LDCB_R; mep_extract_sfmt_ldcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LDCB_R; mep_extract_sfmt_ldcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done; case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x700e) - { itype = MEP_INSN_RI_20; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_20; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x700f) - { itype = MEP_INSN_RI_21; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_21; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; case 128 : /* fall through */ case 130 : /* fall through */ case 132 : /* fall through */ @@ -1306,24 +1124,16 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x8000) - { itype = MEP_INSN_SB_TP; mep_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SB_TP; mep_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf881) == 0x8080) - { itype = MEP_INSN_SH_TP; mep_extract_sfmt_sh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SH_TP; mep_extract_sfmt_sh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x8800) - { itype = MEP_INSN_LB_TP; mep_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LB_TP; mep_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf881) == 0x8880) - { itype = MEP_INSN_LH_TP; mep_extract_sfmt_lh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LH_TP; mep_extract_sfmt_lh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1341,19 +1151,13 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x8000) - { itype = MEP_INSN_SB_TP; mep_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_SB_TP; mep_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf880) == 0x8800) - { itype = MEP_INSN_LB_TP; mep_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LB_TP; mep_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf881) == 0x8881) - { itype = MEP_INSN_LHU_TP; mep_extract_sfmt_lhu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_LHU_TP; mep_extract_sfmt_lhu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1374,9 +1178,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 158 : /* fall through */ case 159 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = MEP_INSN_ADD3; mep_extract_sfmt_add3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_ADD3; mep_extract_sfmt_add3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 160 : /* fall through */ case 162 : /* fall through */ case 164 : /* fall through */ @@ -1386,9 +1188,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 172 : /* fall through */ case 174 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf001) == 0xa000) - { itype = MEP_INSN_BEQZ; mep_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_BEQZ; mep_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done; case 161 : /* fall through */ case 163 : /* fall through */ case 165 : /* fall through */ @@ -1398,9 +1198,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 173 : /* fall through */ case 175 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf001) == 0xa001) - { itype = MEP_INSN_BNEZ; mep_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_BNEZ; mep_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done; case 176 : /* fall through */ case 178 : /* fall through */ case 180 : /* fall through */ @@ -1410,9 +1208,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 188 : /* fall through */ case 190 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf001) == 0xb000) - { itype = MEP_INSN_BRA; mep_extract_sfmt_bra (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_BRA; mep_extract_sfmt_bra (this, current_cpu, pc, base_insn, entire_insn); goto done; case 177 : /* fall through */ case 179 : /* fall through */ case 181 : /* fall through */ @@ -1422,13 +1218,8 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 189 : /* fall through */ case 191 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf001) == 0xb001) - { itype = MEP_INSN_BSR12; mep_extract_sfmt_bsr12 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 192 : - if ((entire_insn & 0xf00f0000) == 0xc0000000) - { itype = MEP_INSN_ADD3X; mep_extract_sfmt_add3x (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_BSR12; mep_extract_sfmt_bsr12 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 192 : itype = MEP_INSN_ADD3X; mep_extract_sfmt_add3x (this, current_cpu, pc, base_insn, entire_insn); goto done; case 193 : { unsigned int val = (((insn >> 20) & (3 << 0))); @@ -1449,63 +1240,22 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } - case 194 : - if ((entire_insn & 0xf00f0000) == 0xc0020000) - { itype = MEP_INSN_SLT3X; mep_extract_sfmt_slt3x (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 195 : - if ((entire_insn & 0xf00f0000) == 0xc0030000) - { itype = MEP_INSN_SLTU3X; mep_extract_sfmt_sltu3x (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 196 : - if ((entire_insn & 0xf00f0000) == 0xc0040000) - { itype = MEP_INSN_OR3; mep_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 197 : - if ((entire_insn & 0xf00f0000) == 0xc0050000) - { itype = MEP_INSN_AND3; mep_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 198 : - if ((entire_insn & 0xf00f0000) == 0xc0060000) - { itype = MEP_INSN_XOR3; mep_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 194 : itype = MEP_INSN_SLT3X; mep_extract_sfmt_slt3x (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 195 : itype = MEP_INSN_SLTU3X; mep_extract_sfmt_sltu3x (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 196 : itype = MEP_INSN_OR3; mep_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 197 : itype = MEP_INSN_AND3; mep_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 198 : itype = MEP_INSN_XOR3; mep_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 199 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc007) - { itype = MEP_INSN_RI_22; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 200 : - if ((entire_insn & 0xf00f0000) == 0xc0080000) - { itype = MEP_INSN_SB16; mep_extract_sfmt_sb16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 201 : - if ((entire_insn & 0xf00f0000) == 0xc0090000) - { itype = MEP_INSN_SH16; mep_extract_sfmt_sh16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 202 : - if ((entire_insn & 0xf00f0000) == 0xc00a0000) - { itype = MEP_INSN_SW16; mep_extract_sfmt_sw16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 203 : - if ((entire_insn & 0xf00f0000) == 0xc00b0000) - { itype = MEP_INSN_LBU16; mep_extract_sfmt_lbu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 204 : - if ((entire_insn & 0xf00f0000) == 0xc00c0000) - { itype = MEP_INSN_LB16; mep_extract_sfmt_lb16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 205 : - if ((entire_insn & 0xf00f0000) == 0xc00d0000) - { itype = MEP_INSN_LH16; mep_extract_sfmt_lh16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 206 : - if ((entire_insn & 0xf00f0000) == 0xc00e0000) - { itype = MEP_INSN_LW16; mep_extract_sfmt_lw16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 207 : - if ((entire_insn & 0xf00f0000) == 0xc00f0000) - { itype = MEP_INSN_LHU16; mep_extract_sfmt_lhu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_22; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 200 : itype = MEP_INSN_SB16; mep_extract_sfmt_sb16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 201 : itype = MEP_INSN_SH16; mep_extract_sfmt_sh16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 202 : itype = MEP_INSN_SW16; mep_extract_sfmt_sw16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 203 : itype = MEP_INSN_LBU16; mep_extract_sfmt_lbu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 204 : itype = MEP_INSN_LB16; mep_extract_sfmt_lb16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 205 : itype = MEP_INSN_LH16; mep_extract_sfmt_lh16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 206 : itype = MEP_INSN_LW16; mep_extract_sfmt_lw16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 207 : itype = MEP_INSN_LHU16; mep_extract_sfmt_lhu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 208 : /* fall through */ case 209 : /* fall through */ case 210 : /* fall through */ @@ -1523,10 +1273,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : if ((entire_insn & 0xff0f0000) == 0xd8040000) { itype = MEP_INSN_BCPEQ; mep_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -1539,10 +1286,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : if ((entire_insn & 0xff0f0000) == 0xd8050000) { itype = MEP_INSN_BCPNE; mep_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -1555,10 +1299,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : if ((entire_insn & 0xff0f0000) == 0xd8060000) { itype = MEP_INSN_BCPAT; mep_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -1571,10 +1312,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : if ((entire_insn & 0xff0f0000) == 0xd8070000) { itype = MEP_INSN_BCPAF; mep_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -1587,14 +1325,8 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : - if ((entire_insn & 0xf80f0000) == 0xd8080000) - { itype = MEP_INSN_JMP24; mep_extract_sfmt_jmp24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : itype = MEP_INSN_JMP24; mep_extract_sfmt_jmp24 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1603,14 +1335,8 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : - if ((entire_insn & 0xf80f0000) == 0xd8090000) - { itype = MEP_INSN_BSR24; mep_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : itype = MEP_INSN_BSR24; mep_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1619,51 +1345,24 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in unsigned int val = (((insn >> 27) & (1 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf8000000) == 0xd0000000) - { itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : - if ((entire_insn & 0xf80f0000) == 0xd80b0000) - { itype = MEP_INSN_BSRV; mep_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEP_INSN_MOVU24; mep_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : itype = MEP_INSN_BSRV; mep_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } - case 224 : - if ((entire_insn & 0xf00f0000) == 0xe0000000) - { itype = MEP_INSN_BEQI; mep_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 225 : - if ((entire_insn & 0xf00f0000) == 0xe0010000) - { itype = MEP_INSN_BEQ; mep_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 224 : itype = MEP_INSN_BEQI; mep_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 225 : itype = MEP_INSN_BEQ; mep_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; case 226 : /* fall through */ case 230 : /* fall through */ case 234 : /* fall through */ - case 238 : - if ((entire_insn & 0xf0030000) == 0xe0020000) - { itype = MEP_INSN_SW24; mep_extract_sfmt_sw24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 238 : itype = MEP_INSN_SW24; mep_extract_sfmt_sw24 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 227 : /* fall through */ case 231 : /* fall through */ case 235 : /* fall through */ - case 239 : - if ((entire_insn & 0xf0030000) == 0xe0030000) - { itype = MEP_INSN_LW24; mep_extract_sfmt_lw24 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 228 : - if ((entire_insn & 0xf00f0000) == 0xe0040000) - { itype = MEP_INSN_BNEI; mep_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 229 : - if ((entire_insn & 0xf00f0000) == 0xe0050000) - { itype = MEP_INSN_BNE; mep_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 232 : - if ((entire_insn & 0xf00f0000) == 0xe0080000) - { itype = MEP_INSN_BGEI; mep_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 239 : itype = MEP_INSN_LW24; mep_extract_sfmt_lw24 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 228 : itype = MEP_INSN_BNEI; mep_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 229 : itype = MEP_INSN_BNE; mep_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 232 : itype = MEP_INSN_BGEI; mep_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 233 : { unsigned int val = (((insn >> 20) & (1 << 0))); @@ -1680,19 +1379,11 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } - case 236 : - if ((entire_insn & 0xf00f0000) == 0xe00c0000) - { itype = MEP_INSN_BLTI; mep_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 236 : itype = MEP_INSN_BLTI; mep_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 237 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe00d) - { itype = MEP_INSN_RI_23; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 240 : - if ((entire_insn & 0xf00f0000) == 0xf0000000) - { itype = MEP_INSN_DSP; mep_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_23; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 240 : itype = MEP_INSN_DSP; mep_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done; case 241 : { unsigned int val = (((insn >> 8) & (3 << 4)) | ((insn >> 0) & (15 << 0))); @@ -1750,7 +1441,7 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in case 17 : /* fall through */ case 25 : if ((entire_insn & 0xf0ffff07) == 0xf0011001) - { itype = MEP_INSN_CLIPU; mep_extract_sfmt_clipu (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MEP_INSN_CLIPU; mep_extract_sfmt_clip (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 32 : if ((entire_insn & 0xf00ff0ff) == 0xf0012000) @@ -1783,14 +1474,8 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } - case 242 : - if ((entire_insn & 0xf00f0000) == 0xf0020000) - { itype = MEP_INSN_UCI; mep_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 243 : - if ((entire_insn & 0xf00f0000) == 0xf0030000) - { itype = MEP_INSN_PREFD; mep_extract_sfmt_prefd (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 242 : itype = MEP_INSN_UCI; mep_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 243 : itype = MEP_INSN_PREFD; mep_extract_sfmt_prefd (this, current_cpu, pc, base_insn, entire_insn); goto done; case 244 : { unsigned int val = (((insn >> 20) & (1 << 0))); @@ -1812,126 +1497,36 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in unsigned int val = (((insn >> 10) & (63 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xf00ffc00) == 0xf0050000) - { itype = MEP_INSN_SBCPA; mep_extract_sfmt_sbcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : - if ((entire_insn & 0xf00ffc00) == 0xf0050800) - { itype = MEP_INSN_SBCPM0; mep_extract_sfmt_sbcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : - if ((entire_insn & 0xf00ffc00) == 0xf0050c00) - { itype = MEP_INSN_SBCPM1; mep_extract_sfmt_sbcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 4 : - if ((entire_insn & 0xf00ffc00) == 0xf0051000) - { itype = MEP_INSN_SHCPA; mep_extract_sfmt_shcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 6 : - if ((entire_insn & 0xf00ffc00) == 0xf0051800) - { itype = MEP_INSN_SHCPM0; mep_extract_sfmt_shcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 7 : - if ((entire_insn & 0xf00ffc00) == 0xf0051c00) - { itype = MEP_INSN_SHCPM1; mep_extract_sfmt_shcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 8 : - if ((entire_insn & 0xf00ffc00) == 0xf0052000) - { itype = MEP_INSN_SWCPA; mep_extract_sfmt_swcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 10 : - if ((entire_insn & 0xf00ffc00) == 0xf0052800) - { itype = MEP_INSN_SWCPM0; mep_extract_sfmt_swcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 11 : - if ((entire_insn & 0xf00ffc00) == 0xf0052c00) - { itype = MEP_INSN_SWCPM1; mep_extract_sfmt_swcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 12 : - if ((entire_insn & 0xf00ffc00) == 0xf0053000) - { itype = MEP_INSN_SMCPA; mep_extract_sfmt_smcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 14 : - if ((entire_insn & 0xf00ffc00) == 0xf0053800) - { itype = MEP_INSN_SMCPM0; mep_extract_sfmt_smcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 15 : - if ((entire_insn & 0xf00ffc00) == 0xf0053c00) - { itype = MEP_INSN_SMCPM1; mep_extract_sfmt_smcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 16 : - if ((entire_insn & 0xf00ffc00) == 0xf0054000) - { itype = MEP_INSN_LBCPA; mep_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 18 : - if ((entire_insn & 0xf00ffc00) == 0xf0054800) - { itype = MEP_INSN_LBCPM0; mep_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 19 : - if ((entire_insn & 0xf00ffc00) == 0xf0054c00) - { itype = MEP_INSN_LBCPM1; mep_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 20 : - if ((entire_insn & 0xf00ffc00) == 0xf0055000) - { itype = MEP_INSN_LHCPA; mep_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 22 : - if ((entire_insn & 0xf00ffc00) == 0xf0055800) - { itype = MEP_INSN_LHCPM0; mep_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 23 : - if ((entire_insn & 0xf00ffc00) == 0xf0055c00) - { itype = MEP_INSN_LHCPM1; mep_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 24 : - if ((entire_insn & 0xf00ffc00) == 0xf0056000) - { itype = MEP_INSN_LWCPA; mep_extract_sfmt_lwcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 26 : - if ((entire_insn & 0xf00ffc00) == 0xf0056800) - { itype = MEP_INSN_LWCPM0; mep_extract_sfmt_lwcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 27 : - if ((entire_insn & 0xf00ffc00) == 0xf0056c00) - { itype = MEP_INSN_LWCPM1; mep_extract_sfmt_lwcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 28 : - if ((entire_insn & 0xf00ffc00) == 0xf0057000) - { itype = MEP_INSN_LMCPA; mep_extract_sfmt_lmcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 30 : - if ((entire_insn & 0xf00ffc00) == 0xf0057800) - { itype = MEP_INSN_LMCPM0; mep_extract_sfmt_lmcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 31 : - if ((entire_insn & 0xf00ffc00) == 0xf0057c00) - { itype = MEP_INSN_LMCPM1; mep_extract_sfmt_lmcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 48 : - if ((entire_insn & 0xf00ffc00) == 0xf005c000) - { itype = MEP_INSN_LBUCPA; mep_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 50 : - if ((entire_insn & 0xf00ffc00) == 0xf005c800) - { itype = MEP_INSN_LBUCPM0; mep_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 51 : - if ((entire_insn & 0xf00ffc00) == 0xf005cc00) - { itype = MEP_INSN_LBUCPM1; mep_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 52 : - if ((entire_insn & 0xf00ffc00) == 0xf005d000) - { itype = MEP_INSN_LHUCPA; mep_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 54 : - if ((entire_insn & 0xf00ffc00) == 0xf005d800) - { itype = MEP_INSN_LHUCPM0; mep_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 55 : - if ((entire_insn & 0xf00ffc00) == 0xf005dc00) - { itype = MEP_INSN_LHUCPM1; mep_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = MEP_INSN_SBCPA; mep_extract_sfmt_sbcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : itype = MEP_INSN_SBCPM0; mep_extract_sfmt_sbcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : itype = MEP_INSN_SBCPM1; mep_extract_sfmt_sbcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 4 : itype = MEP_INSN_SHCPA; mep_extract_sfmt_shcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 6 : itype = MEP_INSN_SHCPM0; mep_extract_sfmt_shcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 7 : itype = MEP_INSN_SHCPM1; mep_extract_sfmt_shcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 8 : itype = MEP_INSN_SWCPA; mep_extract_sfmt_swcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 10 : itype = MEP_INSN_SWCPM0; mep_extract_sfmt_swcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 11 : itype = MEP_INSN_SWCPM1; mep_extract_sfmt_swcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 12 : itype = MEP_INSN_SMCPA; mep_extract_sfmt_smcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 14 : itype = MEP_INSN_SMCPM0; mep_extract_sfmt_smcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 15 : itype = MEP_INSN_SMCPM1; mep_extract_sfmt_smcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 16 : itype = MEP_INSN_LBCPA; mep_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 18 : itype = MEP_INSN_LBCPM0; mep_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 19 : itype = MEP_INSN_LBCPM1; mep_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 20 : itype = MEP_INSN_LHCPA; mep_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 22 : itype = MEP_INSN_LHCPM0; mep_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 23 : itype = MEP_INSN_LHCPM1; mep_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 24 : itype = MEP_INSN_LWCPA; mep_extract_sfmt_lwcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 26 : itype = MEP_INSN_LWCPM0; mep_extract_sfmt_lwcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 27 : itype = MEP_INSN_LWCPM1; mep_extract_sfmt_lwcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 28 : itype = MEP_INSN_LMCPA; mep_extract_sfmt_lmcpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 30 : itype = MEP_INSN_LMCPM0; mep_extract_sfmt_lmcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 31 : itype = MEP_INSN_LMCPM1; mep_extract_sfmt_lmcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 48 : itype = MEP_INSN_LBUCPA; mep_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 50 : itype = MEP_INSN_LBUCPM0; mep_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 51 : itype = MEP_INSN_LBUCPM1; mep_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 52 : itype = MEP_INSN_LHUCPA; mep_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 54 : itype = MEP_INSN_LHUCPM0; mep_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 55 : itype = MEP_INSN_LHUCPM1; mep_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1969,25 +1564,11 @@ mep_scache::decode (mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_in } case 248 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf008) - { itype = MEP_INSN_RI_26; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 252 : - if ((entire_insn & 0xf00f0000) == 0xf00c0000) - { itype = MEP_INSN_SWCP16; mep_extract_sfmt_swcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 253 : - if ((entire_insn & 0xf00f0000) == 0xf00d0000) - { itype = MEP_INSN_LWCP16; mep_extract_sfmt_lwcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 254 : - if ((entire_insn & 0xf00f0000) == 0xf00e0000) - { itype = MEP_INSN_SMCP16; mep_extract_sfmt_smcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 255 : - if ((entire_insn & 0xf00f0000) == 0xf00f0000) - { itype = MEP_INSN_LMCP16; mep_extract_sfmt_lmcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = MEP_INSN_RI_26; mep_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 252 : itype = MEP_INSN_SWCP16; mep_extract_sfmt_swcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 253 : itype = MEP_INSN_LWCP16; mep_extract_sfmt_lwcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 254 : itype = MEP_INSN_SMCP16; mep_extract_sfmt_smcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 255 : itype = MEP_INSN_LMCP16; mep_extract_sfmt_lmcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = MEP_INSN_X_INVALID; mep_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3574,62 +3155,6 @@ mep_extract_sfmt_extb (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, } void -mep_extract_sfmt_exth (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn){ - mep_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_clip.f - UINT f_rn; - - f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_rn) = f_rn; - FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn]; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_exth)\t" - << " f_rn:0x" << hex << f_rn << dec - << endl; - } - - /* Record the fields for profiling. */ - if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) - { - FLD (in_rn) = f_rn; - FLD (out_rn) = f_rn; - } -#undef FLD -} - -void -mep_extract_sfmt_extub (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn){ - mep_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_clip.f - UINT f_rn; - - f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_rn) = f_rn; - FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn]; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_extub)\t" - << " f_rn:0x" << hex << f_rn << dec - << endl; - } - - /* Record the fields for profiling. */ - if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) - { - FLD (in_rn) = f_rn; - FLD (out_rn) = f_rn; - } -#undef FLD -} - -void mep_extract_sfmt_ssarb (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn){ mep_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_ssarb.f @@ -5548,38 +5073,6 @@ mep_extract_sfmt_clip (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, } void -mep_extract_sfmt_clipu (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn){ - mep_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_clip.f - UINT f_rn; - UINT f_5u24; - - f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4); - f_5u24 = EXTRACT_MSB0_UINT (insn, 32, 24, 5); - - /* Record the fields for the semantic handler. */ - FLD (f_5u24) = f_5u24; - FLD (f_rn) = f_rn; - FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn]; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_clipu)\t" - << " f_5u24:0x" << hex << f_5u24 << dec - << " f_rn:0x" << hex << f_rn << dec - << endl; - } - - /* Record the fields for profiling. */ - if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) - { - FLD (in_rn) = f_rn; - FLD (out_rn) = f_rn; - } -#undef FLD -} - -void mep_extract_sfmt_swcp (mep_scache* abuf, mep_basic_cpu* current_cpu, PCADDR pc, mep_insn_word base_insn, mep_insn_word entire_insn){ mep_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_swcp16.f diff --git a/sid/component/cgen-cpu/mep/mep-desc.h b/sid/component/cgen-cpu/mep/mep-desc.h index 25feff395c..b6fc796251 100644 --- a/sid/component/cgen-cpu/mep/mep-desc.h +++ b/sid/component/cgen-cpu/mep/mep-desc.h @@ -12,7 +12,7 @@ This file is part of the Red Hat simulators. #ifndef DESC_MEP_H #define DESC_MEP_H -#include "opcode/cgen-bitset.h" +#include "cgen/bitset.h" namespace mep { diff --git a/sid/component/cgen-cpu/mep/mep-sem.cxx b/sid/component/cgen-cpu/mep/mep-sem.cxx index f7916982fd..c43e4ee346 100644 --- a/sid/component/cgen-cpu/mep/mep-sem.cxx +++ b/sid/component/cgen-cpu/mep/mep-sem.cxx @@ -4146,7 +4146,7 @@ mep_sem_btstm (mep_basic_cpu* current_cpu, mep_scache* sem) { current_cpu->check_option_bit (pc); { - SI opval = ZEXTQISI (ANDQI (current_cpu->GETMEMQI (pc, * FLD (i_rma)), SLLSI (1, FLD (f_3u5)))); + SI opval = ZEXTQISI (ANDQI (current_cpu->GETMEMUQI (pc, * FLD (i_rma)), SLLSI (1, FLD (f_3u5)))); if (UNLIKELY(current_cpu->trace_result_p)) current_cpu->trace_stream << "gpr" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << " "; current_cpu->hardware.h_gpr[((UINT) 0)] = opval; diff --git a/sid/component/cgen-cpu/mt/ChangeLog b/sid/component/cgen-cpu/mt/ChangeLog index dd726a50e9..18b0f13490 100644 --- a/sid/component/cgen-cpu/mt/ChangeLog +++ b/sid/component/cgen-cpu/mt/ChangeLog @@ -1,3 +1,8 @@ +2009-10-23 Doug Evans + + * mt-desc.h: Regenerate. + * mt-decode.cxx: Regenerate. + 2006-06-26 Dave Brolley * mt.h (get_pc): New member of mt_cpu. diff --git a/sid/component/cgen-cpu/mt/mt-cpu.h b/sid/component/cgen-cpu/mt/mt-cpu.h index e3b393b734..1c9feaf27f 100644 --- a/sid/component/cgen-cpu/mt/mt-cpu.h +++ b/sid/component/cgen-cpu/mt/mt-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/mt/mt-decode.cxx b/sid/component/cgen-cpu/mt/mt-decode.cxx index 16624b9388..7605f26d68 100644 --- a/sid/component/cgen-cpu/mt/mt-decode.cxx +++ b/sid/component/cgen-cpu/mt/mt-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -121,20 +121,14 @@ mt_extract_sfmt_empty (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_ static void mt_extract_sfmt_add (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn); static void -mt_extract_sfmt_addu (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn); -static void mt_extract_sfmt_addi (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn); static void mt_extract_sfmt_addui (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn); static void -mt_extract_sfmt_andi (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn); -static void mt_extract_sfmt_nop (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn); static void mt_extract_sfmt_ldui (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn); static void -mt_extract_sfmt_lsl (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn); -static void mt_extract_sfmt_brlt (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn); static void mt_extract_sfmt_jmp (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn); @@ -171,50 +165,32 @@ mt_scache::decode (mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_in if ((entire_insn & 0xff000fff) == 0x0) { itype = MT_INSN_ADD; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : - if ((entire_insn & 0xff000000) == 0x1000000) - { itype = MT_INSN_ADDI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : itype = MT_INSN_ADDI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : if ((entire_insn & 0xff000fff) == 0x2000000) - { itype = MT_INSN_ADDU; mt_extract_sfmt_addu (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : - if ((entire_insn & 0xff000000) == 0x3000000) - { itype = MT_INSN_ADDUI; mt_extract_sfmt_addui (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MT_INSN_ADDU; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : itype = MT_INSN_ADDUI; mt_extract_sfmt_addui (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : if ((entire_insn & 0xff000fff) == 0x4000000) { itype = MT_INSN_SUB; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 5 : - if ((entire_insn & 0xff000000) == 0x5000000) - { itype = MT_INSN_SUBI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 5 : itype = MT_INSN_SUBI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : if ((entire_insn & 0xff000fff) == 0x6000000) - { itype = MT_INSN_SUBU; mt_extract_sfmt_addu (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 7 : - if ((entire_insn & 0xff000000) == 0x7000000) - { itype = MT_INSN_SUBUI; mt_extract_sfmt_addui (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MT_INSN_SUBU; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 7 : itype = MT_INSN_SUBUI; mt_extract_sfmt_addui (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : if ((entire_insn & 0xff000fff) == 0x8000000) { itype = MT_INSN_MUL; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 9 : - if ((entire_insn & 0xff000000) == 0x9000000) - { itype = MT_INSN_MULI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 9 : itype = MT_INSN_MULI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : if ((entire_insn & 0xff000fff) == 0x10000000) { itype = MT_INSN_AND; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 17 : - if ((entire_insn & 0xff000000) == 0x11000000) - { itype = MT_INSN_ANDI; mt_extract_sfmt_andi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 17 : itype = MT_INSN_ANDI; mt_extract_sfmt_addui (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : { unsigned int val = (((insn >> 12) & (127 << 0))); @@ -399,82 +375,49 @@ mt_scache::decode (mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_in default : itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } - case 19 : - if ((entire_insn & 0xff000000) == 0x13000000) - { itype = MT_INSN_ORI; mt_extract_sfmt_andi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 19 : itype = MT_INSN_ORI; mt_extract_sfmt_addui (this, current_cpu, pc, base_insn, entire_insn); goto done; case 20 : if ((entire_insn & 0xff000fff) == 0x14000000) { itype = MT_INSN_XOR; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 21 : - if ((entire_insn & 0xff000000) == 0x15000000) - { itype = MT_INSN_XORI; mt_extract_sfmt_andi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 21 : itype = MT_INSN_XORI; mt_extract_sfmt_addui (this, current_cpu, pc, base_insn, entire_insn); goto done; case 22 : if ((entire_insn & 0xff000fff) == 0x16000000) { itype = MT_INSN_NAND; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 23 : - if ((entire_insn & 0xff000000) == 0x17000000) - { itype = MT_INSN_NANDI; mt_extract_sfmt_andi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 23 : itype = MT_INSN_NANDI; mt_extract_sfmt_addui (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : if ((entire_insn & 0xff000fff) == 0x18000000) { itype = MT_INSN_NOR; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 25 : - if ((entire_insn & 0xff000000) == 0x19000000) - { itype = MT_INSN_NORI; mt_extract_sfmt_andi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 25 : itype = MT_INSN_NORI; mt_extract_sfmt_addui (this, current_cpu, pc, base_insn, entire_insn); goto done; case 26 : if ((entire_insn & 0xff000fff) == 0x1a000000) { itype = MT_INSN_XNOR; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 27 : - if ((entire_insn & 0xff000000) == 0x1b000000) - { itype = MT_INSN_XNORI; mt_extract_sfmt_andi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 27 : itype = MT_INSN_XNORI; mt_extract_sfmt_addui (this, current_cpu, pc, base_insn, entire_insn); goto done; case 29 : if ((entire_insn & 0xfff00000) == 0x1d000000) { itype = MT_INSN_LDUI; mt_extract_sfmt_ldui (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 32 : if ((entire_insn & 0xff000fff) == 0x20000000) - { itype = MT_INSN_LSL; mt_extract_sfmt_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 33 : - if ((entire_insn & 0xff000000) == 0x21000000) - { itype = MT_INSN_LSLI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MT_INSN_LSL; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 33 : itype = MT_INSN_LSLI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 34 : if ((entire_insn & 0xff000fff) == 0x22000000) - { itype = MT_INSN_LSR; mt_extract_sfmt_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 35 : - if ((entire_insn & 0xff000000) == 0x23000000) - { itype = MT_INSN_LSRI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MT_INSN_LSR; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 35 : itype = MT_INSN_LSRI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; case 36 : if ((entire_insn & 0xff000fff) == 0x24000000) - { itype = MT_INSN_ASR; mt_extract_sfmt_lsl (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 37 : - if ((entire_insn & 0xff000000) == 0x25000000) - { itype = MT_INSN_ASRI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 49 : - if ((entire_insn & 0xff000000) == 0x31000000) - { itype = MT_INSN_BRLT; mt_extract_sfmt_brlt (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 51 : - if ((entire_insn & 0xff000000) == 0x33000000) - { itype = MT_INSN_BRLE; mt_extract_sfmt_brlt (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 53 : - if ((entire_insn & 0xff000000) == 0x35000000) - { itype = MT_INSN_BREQ; mt_extract_sfmt_brlt (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = MT_INSN_ASR; mt_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 37 : itype = MT_INSN_ASRI; mt_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 49 : itype = MT_INSN_BRLT; mt_extract_sfmt_brlt (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 51 : itype = MT_INSN_BRLE; mt_extract_sfmt_brlt (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 53 : itype = MT_INSN_BREQ; mt_extract_sfmt_brlt (this, current_cpu, pc, base_insn, entire_insn); goto done; case 55 : if ((entire_insn & 0xffff0000) == 0x37000000) { itype = MT_INSN_JMP; mt_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -483,22 +426,13 @@ mt_scache::decode (mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_in if ((entire_insn & 0xff0f0fff) == 0x38000000) { itype = MT_INSN_JAL; mt_extract_sfmt_jal (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 59 : - if ((entire_insn & 0xff000000) == 0x3b000000) - { itype = MT_INSN_BRNE; mt_extract_sfmt_brlt (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 59 : itype = MT_INSN_BRNE; mt_extract_sfmt_brlt (this, current_cpu, pc, base_insn, entire_insn); goto done; case 61 : if ((entire_insn & 0xff0f0000) == 0x3d000000) { itype = MT_INSN_DBNZ; mt_extract_sfmt_dbnz (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 65 : - if ((entire_insn & 0xff000000) == 0x41000000) - { itype = MT_INSN_LDW; mt_extract_sfmt_ldw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 67 : - if ((entire_insn & 0xff000000) == 0x43000000) - { itype = MT_INSN_STW; mt_extract_sfmt_stw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 65 : itype = MT_INSN_LDW; mt_extract_sfmt_ldw (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 67 : itype = MT_INSN_STW; mt_extract_sfmt_stw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 96 : if ((entire_insn & 0xffffffff) == 0x60000000) { itype = MT_INSN_EI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -540,66 +474,39 @@ mt_scache::decode (mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_in case 148 : /* fall through */ case 149 : /* fall through */ case 150 : /* fall through */ - case 151 : - if ((entire_insn & 0xfc000000) == 0x94000000) - { itype = MT_INSN_FBCCI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 151 : itype = MT_INSN_FBCCI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 152 : /* fall through */ case 153 : /* fall through */ case 154 : /* fall through */ - case 155 : - if ((entire_insn & 0xfc000000) == 0x98000000) - { itype = MT_INSN_FBRCI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 155 : itype = MT_INSN_FBRCI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 156 : /* fall through */ case 157 : /* fall through */ case 158 : /* fall through */ - case 159 : - if ((entire_insn & 0xfc000000) == 0x9c000000) - { itype = MT_INSN_FBCRI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 159 : itype = MT_INSN_FBCRI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 160 : /* fall through */ case 161 : /* fall through */ case 162 : /* fall through */ - case 163 : - if ((entire_insn & 0xfc000000) == 0xa0000000) - { itype = MT_INSN_FBRRI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 163 : itype = MT_INSN_FBRRI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 164 : /* fall through */ case 165 : /* fall through */ case 166 : /* fall through */ - case 167 : - if ((entire_insn & 0xfc000000) == 0xa4000000) - { itype = MT_INSN_MFBCCI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 167 : itype = MT_INSN_MFBCCI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 168 : /* fall through */ case 169 : /* fall through */ case 170 : /* fall through */ - case 171 : - if ((entire_insn & 0xfc000000) == 0xa8000000) - { itype = MT_INSN_MFBRCI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 171 : itype = MT_INSN_MFBRCI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 172 : /* fall through */ case 173 : /* fall through */ case 174 : /* fall through */ - case 175 : - if ((entire_insn & 0xfc000000) == 0xac000000) - { itype = MT_INSN_MFBCRI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 175 : itype = MT_INSN_MFBCRI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 176 : /* fall through */ case 177 : /* fall through */ case 178 : /* fall through */ - case 179 : - if ((entire_insn & 0xfc000000) == 0xb0000000) - { itype = MT_INSN_MFBRRI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 179 : itype = MT_INSN_MFBRRI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 180 : /* fall through */ case 181 : /* fall through */ case 182 : /* fall through */ - case 183 : - if ((entire_insn & 0xfc000000) == 0xb4000000) - { itype = MT_INSN_FBCBDR; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 183 : itype = MT_INSN_FBCBDR; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 184 : /* fall through */ case 185 : /* fall through */ case 186 : /* fall through */ @@ -624,17 +531,11 @@ mt_scache::decode (mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_in case 196 : /* fall through */ case 197 : /* fall through */ case 198 : /* fall through */ - case 199 : - if ((entire_insn & 0xfc000000) == 0xc4000000) - { itype = MT_INSN_DUPCBCAST; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 199 : itype = MT_INSN_DUPCBCAST; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 200 : /* fall through */ case 201 : /* fall through */ case 202 : /* fall through */ - case 203 : - if ((entire_insn & 0xfc000000) == 0xc8000000) - { itype = MT_INSN_WFBI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 203 : itype = MT_INSN_WFBI; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 204 : if ((entire_insn & 0xff000040) == 0xcc000000) { itype = MT_INSN_WFB; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } @@ -649,17 +550,11 @@ mt_scache::decode (mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_in case 212 : /* fall through */ case 213 : /* fall through */ case 214 : /* fall through */ - case 215 : - if ((entire_insn & 0xfc000000) == 0xd4000000) - { itype = MT_INSN_FBCBINC; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 215 : itype = MT_INSN_FBCBINC; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 216 : /* fall through */ case 217 : /* fall through */ case 218 : /* fall through */ - case 219 : - if ((entire_insn & 0xfc000000) == 0xd8000000) - { itype = MT_INSN_RCXMODE; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 219 : itype = MT_INSN_RCXMODE; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 220 : /* fall through */ case 221 : /* fall through */ case 222 : /* fall through */ @@ -670,45 +565,27 @@ mt_scache::decode (mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_in case 224 : /* fall through */ case 225 : /* fall through */ case 226 : /* fall through */ - case 227 : - if ((entire_insn & 0xfc000000) == 0xe0000000) - { itype = MT_INSN_WFBINC; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 227 : itype = MT_INSN_WFBINC; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 228 : /* fall through */ case 229 : /* fall through */ case 230 : /* fall through */ - case 231 : - if ((entire_insn & 0xfc000000) == 0xe4000000) - { itype = MT_INSN_MWFBINC; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 231 : itype = MT_INSN_MWFBINC; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 232 : /* fall through */ case 233 : /* fall through */ case 234 : /* fall through */ - case 235 : - if ((entire_insn & 0xfc000000) == 0xe8000000) - { itype = MT_INSN_WFBINCR; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 235 : itype = MT_INSN_WFBINCR; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 236 : /* fall through */ case 237 : /* fall through */ case 238 : /* fall through */ - case 239 : - if ((entire_insn & 0xfc000000) == 0xec000000) - { itype = MT_INSN_MWFBINCR; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 239 : itype = MT_INSN_MWFBINCR; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 240 : /* fall through */ case 241 : /* fall through */ case 242 : /* fall through */ - case 243 : - if ((entire_insn & 0xfc000000) == 0xf0000000) - { itype = MT_INSN_FBCBINCS; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 243 : itype = MT_INSN_FBCBINCS; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 244 : /* fall through */ case 245 : /* fall through */ case 246 : /* fall through */ - case 247 : - if ((entire_insn & 0xfc000000) == 0xf4000000) - { itype = MT_INSN_MFBCBINCS; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = MT_INSN_X_INVALID; mt_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 247 : itype = MT_INSN_MFBCBINCS; mt_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; case 248 : /* fall through */ case 249 : /* fall through */ case 250 : /* fall through */ @@ -786,35 +663,6 @@ mt_extract_sfmt_add (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_wo } void -mt_extract_sfmt_addu (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn){ - mt_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_add.f - UINT f_sr1; - UINT f_sr2; - UINT f_drrr; - - f_sr1 = EXTRACT_LSB0_UINT (insn, 32, 23, 4); - f_sr2 = EXTRACT_LSB0_UINT (insn, 32, 19, 4); - f_drrr = EXTRACT_LSB0_UINT (insn, 32, 15, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_sr1) = f_sr1; - FLD (f_sr2) = f_sr2; - FLD (f_drrr) = f_drrr; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_addu)\t" - << " f_sr1:0x" << hex << f_sr1 << dec - << " f_sr2:0x" << hex << f_sr2 << dec - << " f_drrr:0x" << hex << f_drrr << dec - << endl; - } - -#undef FLD -} - -void mt_extract_sfmt_addi (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn){ mt_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_addi.f @@ -873,35 +721,6 @@ mt_extract_sfmt_addui (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_ } void -mt_extract_sfmt_andi (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn){ - mt_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_addui.f - UINT f_sr1; - UINT f_dr; - UINT f_imm16u; - - f_sr1 = EXTRACT_LSB0_UINT (insn, 32, 23, 4); - f_dr = EXTRACT_LSB0_UINT (insn, 32, 19, 4); - f_imm16u = EXTRACT_LSB0_UINT (insn, 32, 15, 16); - - /* Record the fields for the semantic handler. */ - FLD (f_sr1) = f_sr1; - FLD (f_imm16u) = f_imm16u; - FLD (f_dr) = f_dr; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_andi)\t" - << " f_sr1:0x" << hex << f_sr1 << dec - << " f_imm16u:0x" << hex << f_imm16u << dec - << " f_dr:0x" << hex << f_dr << dec - << endl; - } - -#undef FLD -} - -void mt_extract_sfmt_nop (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn){ mt_insn_word insn = entire_insn; #define FLD(f) abuf->fields.fmt_empty.f @@ -944,35 +763,6 @@ mt_extract_sfmt_ldui (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_w } void -mt_extract_sfmt_lsl (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn){ - mt_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_add.f - UINT f_sr1; - UINT f_sr2; - UINT f_drrr; - - f_sr1 = EXTRACT_LSB0_UINT (insn, 32, 23, 4); - f_sr2 = EXTRACT_LSB0_UINT (insn, 32, 19, 4); - f_drrr = EXTRACT_LSB0_UINT (insn, 32, 15, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_sr1) = f_sr1; - FLD (f_sr2) = f_sr2; - FLD (f_drrr) = f_drrr; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_lsl)\t" - << " f_sr1:0x" << hex << f_sr1 << dec - << " f_sr2:0x" << hex << f_sr2 << dec - << " f_drrr:0x" << hex << f_drrr << dec - << endl; - } - -#undef FLD -} - -void mt_extract_sfmt_brlt (mt_scache* abuf, mt_cpu* current_cpu, PCADDR pc, mt_insn_word base_insn, mt_insn_word entire_insn){ mt_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_brlt.f diff --git a/sid/component/cgen-cpu/mt/mt-decode.h b/sid/component/cgen-cpu/mt/mt-decode.h index b8b32ea7e3..7df06389fd 100644 --- a/sid/component/cgen-cpu/mt/mt-decode.h +++ b/sid/component/cgen-cpu/mt/mt-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/mt/mt-defs.h b/sid/component/cgen-cpu/mt/mt-defs.h index 7a3c96b736..1c41cf0496 100644 --- a/sid/component/cgen-cpu/mt/mt-defs.h +++ b/sid/component/cgen-cpu/mt/mt-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/mt/mt-desc.h b/sid/component/cgen-cpu/mt/mt-desc.h index 170ca3f529..15578e2fa3 100644 --- a/sid/component/cgen-cpu/mt/mt-desc.h +++ b/sid/component/cgen-cpu/mt/mt-desc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -12,7 +12,7 @@ This file is part of the Red Hat simulators. #ifndef DESC_MT_H #define DESC_MT_H -#include "opcode/cgen-bitset.h" +#include "cgen/bitset.h" namespace mt { diff --git a/sid/component/cgen-cpu/mt/mt-sem.cxx b/sid/component/cgen-cpu/mt/mt-sem.cxx index 25edbb4a6f..674ea8cd7c 100644 --- a/sid/component/cgen-cpu/mt/mt-sem.cxx +++ b/sid/component/cgen-cpu/mt/mt-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -807,7 +807,7 @@ mt_sem_brlt (mt_cpu* current_cpu, mt_scache* sem, const int tick, PCADDR npc = pc + 4; { -if (LTSI (current_cpu->hardware.h_spr[FLD (f_sr1)], current_cpu->hardware.h_spr[FLD (f_sr2)])) { +if (LTUSI (current_cpu->hardware.h_spr[FLD (f_sr1)], current_cpu->hardware.h_spr[FLD (f_sr2)])) { { USI opval = ADDSI (pc, EXTSISI (FLD (f_imm16s))); buf.h_pc_writes [(tick + 1) % mt::pipe_sz].push (mt::write(pc, opval)); @@ -835,7 +835,7 @@ mt_sem_brle (mt_cpu* current_cpu, mt_scache* sem, const int tick, PCADDR npc = pc + 4; { -if (LESI (current_cpu->hardware.h_spr[FLD (f_sr1)], current_cpu->hardware.h_spr[FLD (f_sr2)])) { +if (LEUSI (current_cpu->hardware.h_spr[FLD (f_sr1)], current_cpu->hardware.h_spr[FLD (f_sr2)])) { { USI opval = ADDSI (pc, EXTSISI (FLD (f_imm16s))); buf.h_pc_writes [(tick + 1) % mt::pipe_sz].push (mt::write(pc, opval)); diff --git a/sid/component/cgen-cpu/mt/mt-write.cxx b/sid/component/cgen-cpu/mt/mt-write.cxx index a964dfee93..1e9717f756 100644 --- a/sid/component/cgen-cpu/mt/mt-write.cxx +++ b/sid/component/cgen-cpu/mt/mt-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/ChangeLog b/sid/component/cgen-cpu/sh/ChangeLog index 258e05652f..308c3543c8 100644 --- a/sid/component/cgen-cpu/sh/ChangeLog +++ b/sid/component/cgen-cpu/sh/ChangeLog @@ -1,3 +1,19 @@ +2009-10-23 Doug Evans + + * sh-desc.h: Regenerate. + * sh2-decode.cxx: Regenerate. + * sh2a-fpu-decode.cxx: Regenerate. + * sh2a-nofpu-decode.cxx: Regenerate. + * sh2e-decode.cxx: Regenerate. + * sh3-decode.cxx: Regenerate. + * sh3e-decode.cxx: Regenerate. + * sh4-decode.cxx: Regenerate. + * sh4-nofpu-decode.cxx: Regenerate. + * sh4a-decode.cxx: Regenerate. + * sh4a-nofpu-decode.cxx: Regenerate. + * sh4al-decode.cxx: Regenerate. + * sh5-compact-decode.cxx: Regenerate. + 2007-08-13 Frank Ch. Eigler * sh.h: Protect CGEN_CPU_FPU macro against multiple definitions. diff --git a/sid/component/cgen-cpu/sh/sh-desc.h b/sid/component/cgen-cpu/sh/sh-desc.h index 453c5e2614..a956d697c2 100644 --- a/sid/component/cgen-cpu/sh/sh-desc.h +++ b/sid/component/cgen-cpu/sh/sh-desc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -12,7 +12,7 @@ This file is part of the Red Hat simulators. #ifndef DESC_SH_H #define DESC_SH_H -#include "opcode/cgen-bitset.h" +#include "cgen/bitset.h" namespace sh { diff --git a/sid/component/cgen-cpu/sh/sh2-cpu.h b/sid/component/cgen-cpu/sh/sh2-cpu.h index ef670d36b4..176039ef38 100644 --- a/sid/component/cgen-cpu/sh/sh2-cpu.h +++ b/sid/component/cgen-cpu/sh/sh2-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -103,7 +103,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh2-decode.cxx b/sid/component/cgen-cpu/sh/sh2-decode.cxx index 509c2ef8a1..d248aaa256 100644 --- a/sid/component/cgen-cpu/sh/sh2-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh2-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -398,33 +398,25 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 36 : /* fall through */ case 52 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH2_INSN_MOVB3_COMPACT; sh2_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVB3_COMPACT; sh2_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ case 53 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH2_INSN_MOVW3_COMPACT; sh2_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW3_COMPACT; sh2_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ case 54 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH2_INSN_MOVL3_COMPACT; sh2_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL3_COMPACT; sh2_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ case 55 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH2_INSN_MULL_COMPACT; sh2_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MULL_COMPACT; sh2_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffff) == 0x8) @@ -450,33 +442,25 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 44 : /* fall through */ case 60 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH2_INSN_MOVB8_COMPACT; sh2_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVB8_COMPACT; sh2_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ case 61 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH2_INSN_MOVW8_COMPACT; sh2_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW8_COMPACT; sh2_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ case 62 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH2_INSN_MOVL8_COMPACT; sh2_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL8_COMPACT; sh2_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ case 63 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH2_INSN_MACL_COMPACT; sh2_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MACL_COMPACT; sh2_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -587,241 +571,181 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 126 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH2_INSN_MOVL5_COMPACT; sh2_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL5_COMPACT; sh2_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 128 : /* fall through */ case 144 : /* fall through */ case 160 : /* fall through */ case 176 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH2_INSN_MOVB1_COMPACT; sh2_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVB1_COMPACT; sh2_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 129 : /* fall through */ case 145 : /* fall through */ case 161 : /* fall through */ case 177 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH2_INSN_MOVW1_COMPACT; sh2_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW1_COMPACT; sh2_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 130 : /* fall through */ case 146 : /* fall through */ case 162 : /* fall through */ case 178 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH2_INSN_MOVL1_COMPACT; sh2_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL1_COMPACT; sh2_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 132 : /* fall through */ case 148 : /* fall through */ case 164 : /* fall through */ case 180 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH2_INSN_MOVB2_COMPACT; sh2_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVB2_COMPACT; sh2_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 133 : /* fall through */ case 149 : /* fall through */ case 165 : /* fall through */ case 181 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH2_INSN_MOVW2_COMPACT; sh2_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW2_COMPACT; sh2_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 134 : /* fall through */ case 150 : /* fall through */ case 166 : /* fall through */ case 182 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH2_INSN_MOVL2_COMPACT; sh2_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL2_COMPACT; sh2_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 135 : /* fall through */ case 151 : /* fall through */ case 167 : /* fall through */ case 183 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH2_INSN_DIV0S_COMPACT; sh2_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_DIV0S_COMPACT; sh2_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 136 : /* fall through */ case 152 : /* fall through */ case 168 : /* fall through */ case 184 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH2_INSN_TST_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_TST_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 137 : /* fall through */ case 153 : /* fall through */ case 169 : /* fall through */ case 185 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH2_INSN_AND_COMPACT; sh2_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_AND_COMPACT; sh2_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 138 : /* fall through */ case 154 : /* fall through */ case 170 : /* fall through */ case 186 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH2_INSN_XOR_COMPACT; sh2_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_XOR_COMPACT; sh2_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 139 : /* fall through */ case 155 : /* fall through */ case 171 : /* fall through */ case 187 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH2_INSN_OR_COMPACT; sh2_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_OR_COMPACT; sh2_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 140 : /* fall through */ case 156 : /* fall through */ case 172 : /* fall through */ case 188 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH2_INSN_CMPSTR_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_CMPSTR_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 141 : /* fall through */ case 157 : /* fall through */ case 173 : /* fall through */ case 189 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH2_INSN_XTRCT_COMPACT; sh2_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_XTRCT_COMPACT; sh2_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 142 : /* fall through */ case 158 : /* fall through */ case 174 : /* fall through */ case 190 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH2_INSN_MULUW_COMPACT; sh2_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MULUW_COMPACT; sh2_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 143 : /* fall through */ case 159 : /* fall through */ case 175 : /* fall through */ case 191 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH2_INSN_MULSW_COMPACT; sh2_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MULSW_COMPACT; sh2_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 192 : /* fall through */ case 208 : /* fall through */ case 224 : /* fall through */ case 240 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH2_INSN_CMPEQ_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_CMPEQ_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 194 : /* fall through */ case 210 : /* fall through */ case 226 : /* fall through */ case 242 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH2_INSN_CMPHS_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_CMPHS_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 195 : /* fall through */ case 211 : /* fall through */ case 227 : /* fall through */ case 243 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH2_INSN_CMPGE_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_CMPGE_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 196 : /* fall through */ case 212 : /* fall through */ case 228 : /* fall through */ case 244 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH2_INSN_DIV1_COMPACT; sh2_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_DIV1_COMPACT; sh2_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 197 : /* fall through */ case 213 : /* fall through */ case 229 : /* fall through */ case 245 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH2_INSN_DMULUL_COMPACT; sh2_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_DMULUL_COMPACT; sh2_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 198 : /* fall through */ case 214 : /* fall through */ case 230 : /* fall through */ case 246 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH2_INSN_CMPHI_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_CMPHI_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 199 : /* fall through */ case 215 : /* fall through */ case 231 : /* fall through */ case 247 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH2_INSN_CMPGT_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_CMPGT_COMPACT; sh2_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 200 : /* fall through */ case 216 : /* fall through */ case 232 : /* fall through */ case 248 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH2_INSN_SUB_COMPACT; sh2_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_SUB_COMPACT; sh2_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 202 : /* fall through */ case 218 : /* fall through */ case 234 : /* fall through */ case 250 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH2_INSN_SUBC_COMPACT; sh2_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_SUBC_COMPACT; sh2_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 203 : /* fall through */ case 219 : /* fall through */ case 235 : /* fall through */ case 251 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH2_INSN_SUBV_COMPACT; sh2_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_SUBV_COMPACT; sh2_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 204 : /* fall through */ case 220 : /* fall through */ case 236 : /* fall through */ case 252 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH2_INSN_ADD_COMPACT; sh2_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_ADD_COMPACT; sh2_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 205 : /* fall through */ case 221 : /* fall through */ case 237 : /* fall through */ case 253 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH2_INSN_DMULSL_COMPACT; sh2_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_DMULSL_COMPACT; sh2_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 206 : /* fall through */ case 222 : /* fall through */ case 238 : /* fall through */ case 254 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH2_INSN_ADDC_COMPACT; sh2_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_ADDC_COMPACT; sh2_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 207 : /* fall through */ case 223 : /* fall through */ case 239 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH2_INSN_ADDV_COMPACT; sh2_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_ADDV_COMPACT; sh2_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4000) @@ -882,9 +806,7 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 303 : /* fall through */ case 319 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH2_INSN_MACW_COMPACT; sh2_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MACW_COMPACT; sh2_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 272 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1075,137 +997,103 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 382 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH2_INSN_MOVL11_COMPACT; sh2_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL11_COMPACT; sh2_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ case 432 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH2_INSN_MOVB6_COMPACT; sh2_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVB6_COMPACT; sh2_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 385 : /* fall through */ case 401 : /* fall through */ case 417 : /* fall through */ case 433 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH2_INSN_MOVW6_COMPACT; sh2_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW6_COMPACT; sh2_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ case 402 : /* fall through */ case 418 : /* fall through */ case 434 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH2_INSN_MOVL6_COMPACT; sh2_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL6_COMPACT; sh2_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ case 435 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH2_INSN_MOV_COMPACT; sh2_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOV_COMPACT; sh2_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ case 436 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH2_INSN_MOVB7_COMPACT; sh2_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVB7_COMPACT; sh2_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ case 437 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH2_INSN_MOVW7_COMPACT; sh2_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW7_COMPACT; sh2_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ case 438 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH2_INSN_MOVL7_COMPACT; sh2_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL7_COMPACT; sh2_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ case 439 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH2_INSN_NOT_COMPACT; sh2_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_NOT_COMPACT; sh2_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ case 440 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH2_INSN_SWAPB_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_SWAPB_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 393 : /* fall through */ case 409 : /* fall through */ case 425 : /* fall through */ case 441 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH2_INSN_SWAPW_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_SWAPW_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ case 442 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH2_INSN_NEGC_COMPACT; sh2_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_NEGC_COMPACT; sh2_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ case 443 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH2_INSN_NEG_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_NEG_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ case 444 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH2_INSN_EXTUB_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_EXTUB_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ case 445 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH2_INSN_EXTUW_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_EXTUW_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ case 446 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH2_INSN_EXTSB_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_EXTSB_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ case 447 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH2_INSN_EXTSW_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_EXTSW_COMPACT; sh2_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 448 : /* fall through */ case 449 : /* fall through */ case 450 : /* fall through */ @@ -1271,9 +1159,7 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 510 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH2_INSN_ADDI_COMPACT; sh2_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_ADDI_COMPACT; sh2_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : /* fall through */ case 513 : /* fall through */ case 514 : /* fall through */ @@ -1344,49 +1230,31 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH2_INSN_MOVB5_COMPACT; sh2_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVB5_COMPACT; sh2_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH2_INSN_MOVW5_COMPACT; sh2_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW5_COMPACT; sh2_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH2_INSN_MOVB10_COMPACT; sh2_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVB10_COMPACT; sh2_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH2_INSN_MOVW11_COMPACT; sh2_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW11_COMPACT; sh2_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH2_INSN_CMPEQI_COMPACT; sh2_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_CMPEQI_COMPACT; sh2_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH2_INSN_BT_COMPACT; sh2_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_BT_COMPACT; sh2_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH2_INSN_BF_COMPACT; sh2_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_BF_COMPACT; sh2_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH2_INSN_BTS_COMPACT; sh2_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_BTS_COMPACT; sh2_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH2_INSN_BFS_COMPACT; sh2_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_BFS_COMPACT; sh2_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1455,9 +1323,7 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 638 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH2_INSN_MOVW10_COMPACT; sh2_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW10_COMPACT; sh2_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 640 : /* fall through */ case 641 : /* fall through */ case 642 : /* fall through */ @@ -1523,9 +1389,7 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 702 : /* fall through */ case 703 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH2_INSN_BRA_COMPACT; sh2_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_BRA_COMPACT; sh2_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 704 : /* fall through */ case 705 : /* fall through */ case 706 : /* fall through */ @@ -1591,9 +1455,7 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH2_INSN_BSR_COMPACT; sh2_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_BSR_COMPACT; sh2_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 769 : /* fall through */ case 770 : /* fall through */ @@ -1664,84 +1526,52 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH2_INSN_MOVB4_COMPACT; sh2_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVB4_COMPACT; sh2_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH2_INSN_MOVW4_COMPACT; sh2_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW4_COMPACT; sh2_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH2_INSN_MOVL4_COMPACT; sh2_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL4_COMPACT; sh2_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH2_INSN_TRAPA_COMPACT; sh2_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_TRAPA_COMPACT; sh2_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH2_INSN_MOVB9_COMPACT; sh2_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVB9_COMPACT; sh2_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH2_INSN_MOVW9_COMPACT; sh2_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVW9_COMPACT; sh2_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH2_INSN_MOVL9_COMPACT; sh2_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL9_COMPACT; sh2_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH2_INSN_MOVA_COMPACT; sh2_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVA_COMPACT; sh2_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH2_INSN_TSTI_COMPACT; sh2_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_TSTI_COMPACT; sh2_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH2_INSN_ANDI_COMPACT; sh2_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_ANDI_COMPACT; sh2_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH2_INSN_XORI_COMPACT; sh2_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_XORI_COMPACT; sh2_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH2_INSN_ORI_COMPACT; sh2_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_ORI_COMPACT; sh2_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH2_INSN_TSTB_COMPACT; sh2_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_TSTB_COMPACT; sh2_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH2_INSN_ANDB_COMPACT; sh2_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_ANDB_COMPACT; sh2_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH2_INSN_XORB_COMPACT; sh2_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_XORB_COMPACT; sh2_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH2_INSN_ORB_COMPACT; sh2_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_ORB_COMPACT; sh2_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1810,9 +1640,7 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 894 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH2_INSN_MOVL10_COMPACT; sh2_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVL10_COMPACT; sh2_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -1878,9 +1706,7 @@ sh2_scache::decode (sh2_cpu* current_cpu, PCADDR pc, sh2_insn_word base_insn, sh case 958 : /* fall through */ case 959 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH2_INSN_MOVI_COMPACT; sh2_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2_INSN_X_INVALID; sh2_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2_INSN_MOVI_COMPACT; sh2_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1021 : { unsigned int val = (((insn >> 27) & (1 << 0))); diff --git a/sid/component/cgen-cpu/sh/sh2-decode.h b/sid/component/cgen-cpu/sh/sh2-decode.h index 274dcb6b7a..eecaad61c7 100644 --- a/sid/component/cgen-cpu/sh/sh2-decode.h +++ b/sid/component/cgen-cpu/sh/sh2-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2-defs.h b/sid/component/cgen-cpu/sh/sh2-defs.h index 582146507d..0f4f68eae2 100644 --- a/sid/component/cgen-cpu/sh/sh2-defs.h +++ b/sid/component/cgen-cpu/sh/sh2-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2-model.cxx b/sid/component/cgen-cpu/sh/sh2-model.cxx index c8b9a621d5..403dd2b400 100644 --- a/sid/component/cgen-cpu/sh/sh2-model.cxx +++ b/sid/component/cgen-cpu/sh/sh2-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2-model.h b/sid/component/cgen-cpu/sh/sh2-model.h index caee43163d..f6e29a0157 100644 --- a/sid/component/cgen-cpu/sh/sh2-model.h +++ b/sid/component/cgen-cpu/sh/sh2-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2-sem.cxx b/sid/component/cgen-cpu/sh/sh2-sem.cxx index d59810c305..9093a5347a 100644 --- a/sid/component/cgen-cpu/sh/sh2-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh2-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2-write.cxx b/sid/component/cgen-cpu/sh/sh2-write.cxx index 6b6637bd79..bfb469db49 100644 --- a/sid/component/cgen-cpu/sh/sh2-write.cxx +++ b/sid/component/cgen-cpu/sh/sh2-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-fpu-cpu.h b/sid/component/cgen-cpu/sh/sh2a-fpu-cpu.h index 146a3c6bbd..c19b54a4f2 100644 --- a/sid/component/cgen-cpu/sh/sh2a-fpu-cpu.h +++ b/sid/component/cgen-cpu/sh/sh2a-fpu-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -115,7 +115,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh2a-fpu-decode.cxx b/sid/component/cgen-cpu/sh/sh2a-fpu-decode.cxx index 6864623a1e..310846fea2 100644 --- a/sid/component/cgen-cpu/sh/sh2a-fpu-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh2a-fpu-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -502,10 +502,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 64 : /* fall through */ case 80 : /* fall through */ case 96 : /* fall through */ - case 112 : - if ((entire_insn & 0xf00f0000) == 0x0) - { itype = SH2A_FPU_INSN_MOVI20_COMPACT; sh2a_fpu_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 112 : itype = SH2A_FPU_INSN_MOVI20_COMPACT; sh2a_fpu_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x3) @@ -520,9 +517,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 100 : /* fall through */ case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH2A_FPU_INSN_MOVB3_COMPACT; sh2a_fpu_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVB3_COMPACT; sh2a_fpu_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ @@ -532,9 +527,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 101 : /* fall through */ case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH2A_FPU_INSN_MOVW3_COMPACT; sh2a_fpu_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW3_COMPACT; sh2a_fpu_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ @@ -544,9 +537,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 102 : /* fall through */ case 118 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH2A_FPU_INSN_MOVL3_COMPACT; sh2a_fpu_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL3_COMPACT; sh2a_fpu_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ @@ -556,9 +547,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 103 : /* fall through */ case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH2A_FPU_INSN_MULL_COMPACT; sh2a_fpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MULL_COMPACT; sh2a_fpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffff) == 0x8) @@ -588,9 +577,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 108 : /* fall through */ case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH2A_FPU_INSN_MOVB8_COMPACT; sh2a_fpu_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVB8_COMPACT; sh2a_fpu_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ @@ -600,9 +587,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 109 : /* fall through */ case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH2A_FPU_INSN_MOVW8_COMPACT; sh2a_fpu_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW8_COMPACT; sh2a_fpu_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ @@ -612,9 +597,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 110 : /* fall through */ case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH2A_FPU_INSN_MOVL8_COMPACT; sh2a_fpu_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL8_COMPACT; sh2a_fpu_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ @@ -624,9 +607,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 111 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH2A_FPU_INSN_MACL_COMPACT; sh2a_fpu_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MACL_COMPACT; sh2a_fpu_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -811,9 +792,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 254 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH2A_FPU_INSN_MOVL5_COMPACT; sh2a_fpu_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL5_COMPACT; sh2a_fpu_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : /* fall through */ case 272 : /* fall through */ case 288 : /* fall through */ @@ -823,9 +802,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 352 : /* fall through */ case 368 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH2A_FPU_INSN_MOVB1_COMPACT; sh2a_fpu_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVB1_COMPACT; sh2a_fpu_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 257 : /* fall through */ case 273 : /* fall through */ case 289 : /* fall through */ @@ -835,9 +812,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 353 : /* fall through */ case 369 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH2A_FPU_INSN_MOVW1_COMPACT; sh2a_fpu_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW1_COMPACT; sh2a_fpu_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 258 : /* fall through */ case 274 : /* fall through */ case 290 : /* fall through */ @@ -847,9 +822,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 354 : /* fall through */ case 370 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH2A_FPU_INSN_MOVL1_COMPACT; sh2a_fpu_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL1_COMPACT; sh2a_fpu_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 260 : /* fall through */ case 276 : /* fall through */ case 292 : /* fall through */ @@ -859,9 +832,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 356 : /* fall through */ case 372 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH2A_FPU_INSN_MOVB2_COMPACT; sh2a_fpu_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVB2_COMPACT; sh2a_fpu_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 261 : /* fall through */ case 277 : /* fall through */ case 293 : /* fall through */ @@ -871,9 +842,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 357 : /* fall through */ case 373 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH2A_FPU_INSN_MOVW2_COMPACT; sh2a_fpu_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW2_COMPACT; sh2a_fpu_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 262 : /* fall through */ case 278 : /* fall through */ case 294 : /* fall through */ @@ -883,9 +852,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 358 : /* fall through */ case 374 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH2A_FPU_INSN_MOVL2_COMPACT; sh2a_fpu_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL2_COMPACT; sh2a_fpu_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 263 : /* fall through */ case 279 : /* fall through */ case 295 : /* fall through */ @@ -895,9 +862,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 359 : /* fall through */ case 375 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH2A_FPU_INSN_DIV0S_COMPACT; sh2a_fpu_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_DIV0S_COMPACT; sh2a_fpu_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 280 : /* fall through */ case 296 : /* fall through */ @@ -907,9 +872,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 360 : /* fall through */ case 376 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH2A_FPU_INSN_TST_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_TST_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 265 : /* fall through */ case 281 : /* fall through */ case 297 : /* fall through */ @@ -919,9 +882,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 361 : /* fall through */ case 377 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH2A_FPU_INSN_AND_COMPACT; sh2a_fpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_AND_COMPACT; sh2a_fpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 266 : /* fall through */ case 282 : /* fall through */ case 298 : /* fall through */ @@ -931,9 +892,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 362 : /* fall through */ case 378 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH2A_FPU_INSN_XOR_COMPACT; sh2a_fpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_XOR_COMPACT; sh2a_fpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 267 : /* fall through */ case 283 : /* fall through */ case 299 : /* fall through */ @@ -943,9 +902,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 363 : /* fall through */ case 379 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH2A_FPU_INSN_OR_COMPACT; sh2a_fpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_OR_COMPACT; sh2a_fpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 268 : /* fall through */ case 284 : /* fall through */ case 300 : /* fall through */ @@ -955,9 +912,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 364 : /* fall through */ case 380 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH2A_FPU_INSN_CMPSTR_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_CMPSTR_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 269 : /* fall through */ case 285 : /* fall through */ case 301 : /* fall through */ @@ -967,9 +922,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 365 : /* fall through */ case 381 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH2A_FPU_INSN_XTRCT_COMPACT; sh2a_fpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_XTRCT_COMPACT; sh2a_fpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : /* fall through */ case 286 : /* fall through */ case 302 : /* fall through */ @@ -979,9 +932,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 366 : /* fall through */ case 382 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH2A_FPU_INSN_MULUW_COMPACT; sh2a_fpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MULUW_COMPACT; sh2a_fpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 271 : /* fall through */ case 287 : /* fall through */ case 303 : /* fall through */ @@ -991,9 +942,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 367 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH2A_FPU_INSN_MULSW_COMPACT; sh2a_fpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MULSW_COMPACT; sh2a_fpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ @@ -1003,9 +952,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 480 : /* fall through */ case 496 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH2A_FPU_INSN_CMPEQ_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_CMPEQ_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 385 : /* fall through */ case 417 : /* fall through */ case 449 : /* fall through */ @@ -1042,9 +989,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 482 : /* fall through */ case 498 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH2A_FPU_INSN_CMPHS_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_CMPHS_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ @@ -1054,9 +999,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 483 : /* fall through */ case 499 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH2A_FPU_INSN_CMPGE_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_CMPGE_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ @@ -1066,9 +1009,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 484 : /* fall through */ case 500 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH2A_FPU_INSN_DIV1_COMPACT; sh2a_fpu_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_DIV1_COMPACT; sh2a_fpu_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ @@ -1078,9 +1019,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 485 : /* fall through */ case 501 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH2A_FPU_INSN_DMULUL_COMPACT; sh2a_fpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_DMULUL_COMPACT; sh2a_fpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ @@ -1090,9 +1029,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 486 : /* fall through */ case 502 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH2A_FPU_INSN_CMPHI_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_CMPHI_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ @@ -1102,9 +1039,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 487 : /* fall through */ case 503 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH2A_FPU_INSN_CMPGT_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_CMPGT_COMPACT; sh2a_fpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ @@ -1114,9 +1049,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 488 : /* fall through */ case 504 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH2A_FPU_INSN_SUB_COMPACT; sh2a_fpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_SUB_COMPACT; sh2a_fpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ @@ -1126,9 +1059,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 490 : /* fall through */ case 506 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH2A_FPU_INSN_SUBC_COMPACT; sh2a_fpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_SUBC_COMPACT; sh2a_fpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ @@ -1138,9 +1069,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 491 : /* fall through */ case 507 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH2A_FPU_INSN_SUBV_COMPACT; sh2a_fpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_SUBV_COMPACT; sh2a_fpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ @@ -1150,9 +1079,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 492 : /* fall through */ case 508 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH2A_FPU_INSN_ADD_COMPACT; sh2a_fpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_ADD_COMPACT; sh2a_fpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ @@ -1162,9 +1089,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 493 : /* fall through */ case 509 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH2A_FPU_INSN_DMULSL_COMPACT; sh2a_fpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_DMULSL_COMPACT; sh2a_fpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ @@ -1174,9 +1099,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 494 : /* fall through */ case 510 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH2A_FPU_INSN_ADDC_COMPACT; sh2a_fpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_ADDC_COMPACT; sh2a_fpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ @@ -1186,9 +1109,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 495 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH2A_FPU_INSN_ADDV_COMPACT; sh2a_fpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_ADDV_COMPACT; sh2a_fpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 401 : /* fall through */ case 433 : /* fall through */ case 465 : /* fall through */ @@ -1219,14 +1140,10 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4000) - { itype = SH2A_FPU_INSN_SHLL_COMPACT; sh2a_fpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_SHLL_COMPACT; sh2a_fpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4080) - { itype = SH2A_FPU_INSN_MULR_COMPACT; sh2a_fpu_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MULR_COMPACT; sh2a_fpu_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1247,14 +1164,10 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4004) - { itype = SH2A_FPU_INSN_ROTL_COMPACT; sh2a_fpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_ROTL_COMPACT; sh2a_fpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4084) - { itype = SH2A_FPU_INSN_DIVU_COMPACT; sh2a_fpu_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_DIVU_COMPACT; sh2a_fpu_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1297,9 +1210,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 620 : /* fall through */ case 636 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400c) - { itype = SH2A_FPU_INSN_SHAD_COMPACT; sh2a_fpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_SHAD_COMPACT; sh2a_fpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 526 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x400e) @@ -1314,9 +1225,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 623 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH2A_FPU_INSN_MACW_COMPACT; sh2a_fpu_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MACW_COMPACT; sh2a_fpu_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1601,9 +1510,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH2A_FPU_INSN_MOVL11_COMPACT; sh2a_fpu_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL11_COMPACT; sh2a_fpu_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 784 : /* fall through */ case 800 : /* fall through */ @@ -1613,9 +1520,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 864 : /* fall through */ case 880 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH2A_FPU_INSN_MOVB6_COMPACT; sh2a_fpu_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVB6_COMPACT; sh2a_fpu_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 785 : /* fall through */ case 801 : /* fall through */ @@ -1625,9 +1530,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 865 : /* fall through */ case 881 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH2A_FPU_INSN_MOVW6_COMPACT; sh2a_fpu_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW6_COMPACT; sh2a_fpu_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 770 : /* fall through */ case 786 : /* fall through */ case 802 : /* fall through */ @@ -1637,9 +1540,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 866 : /* fall through */ case 882 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH2A_FPU_INSN_MOVL6_COMPACT; sh2a_fpu_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL6_COMPACT; sh2a_fpu_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 771 : /* fall through */ case 787 : /* fall through */ case 803 : /* fall through */ @@ -1649,9 +1550,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 867 : /* fall through */ case 883 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH2A_FPU_INSN_MOV_COMPACT; sh2a_fpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOV_COMPACT; sh2a_fpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 772 : /* fall through */ case 788 : /* fall through */ case 804 : /* fall through */ @@ -1661,9 +1560,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 868 : /* fall through */ case 884 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH2A_FPU_INSN_MOVB7_COMPACT; sh2a_fpu_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVB7_COMPACT; sh2a_fpu_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 773 : /* fall through */ case 789 : /* fall through */ case 805 : /* fall through */ @@ -1673,9 +1570,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 869 : /* fall through */ case 885 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH2A_FPU_INSN_MOVW7_COMPACT; sh2a_fpu_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW7_COMPACT; sh2a_fpu_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 774 : /* fall through */ case 790 : /* fall through */ case 806 : /* fall through */ @@ -1685,9 +1580,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 870 : /* fall through */ case 886 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH2A_FPU_INSN_MOVL7_COMPACT; sh2a_fpu_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL7_COMPACT; sh2a_fpu_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 775 : /* fall through */ case 791 : /* fall through */ case 807 : /* fall through */ @@ -1697,9 +1590,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 871 : /* fall through */ case 887 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH2A_FPU_INSN_NOT_COMPACT; sh2a_fpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_NOT_COMPACT; sh2a_fpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 776 : /* fall through */ case 792 : /* fall through */ case 808 : /* fall through */ @@ -1709,9 +1600,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 872 : /* fall through */ case 888 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH2A_FPU_INSN_SWAPB_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_SWAPB_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 777 : /* fall through */ case 793 : /* fall through */ case 809 : /* fall through */ @@ -1721,9 +1610,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 873 : /* fall through */ case 889 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH2A_FPU_INSN_SWAPW_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_SWAPW_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 778 : /* fall through */ case 794 : /* fall through */ case 810 : /* fall through */ @@ -1733,9 +1620,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 874 : /* fall through */ case 890 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH2A_FPU_INSN_NEGC_COMPACT; sh2a_fpu_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_NEGC_COMPACT; sh2a_fpu_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 779 : /* fall through */ case 795 : /* fall through */ case 811 : /* fall through */ @@ -1745,9 +1630,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 875 : /* fall through */ case 891 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH2A_FPU_INSN_NEG_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_NEG_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 780 : /* fall through */ case 796 : /* fall through */ case 812 : /* fall through */ @@ -1757,9 +1640,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 876 : /* fall through */ case 892 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH2A_FPU_INSN_EXTUB_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_EXTUB_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 781 : /* fall through */ case 797 : /* fall through */ case 813 : /* fall through */ @@ -1769,9 +1650,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 877 : /* fall through */ case 893 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH2A_FPU_INSN_EXTUW_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_EXTUW_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 782 : /* fall through */ case 798 : /* fall through */ case 814 : /* fall through */ @@ -1781,9 +1660,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 878 : /* fall through */ case 894 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH2A_FPU_INSN_EXTSB_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_EXTSB_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 783 : /* fall through */ case 799 : /* fall through */ case 815 : /* fall through */ @@ -1793,9 +1670,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 879 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH2A_FPU_INSN_EXTSW_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_EXTSW_COMPACT; sh2a_fpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -1925,9 +1800,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 1022 : /* fall through */ case 1023 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH2A_FPU_INSN_ADDI_COMPACT; sh2a_fpu_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_ADDI_COMPACT; sh2a_fpu_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ @@ -2062,49 +1935,31 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH2A_FPU_INSN_MOVB5_COMPACT; sh2a_fpu_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVB5_COMPACT; sh2a_fpu_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH2A_FPU_INSN_MOVW5_COMPACT; sh2a_fpu_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW5_COMPACT; sh2a_fpu_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH2A_FPU_INSN_MOVB10_COMPACT; sh2a_fpu_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVB10_COMPACT; sh2a_fpu_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH2A_FPU_INSN_MOVW11_COMPACT; sh2a_fpu_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW11_COMPACT; sh2a_fpu_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH2A_FPU_INSN_CMPEQI_COMPACT; sh2a_fpu_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_CMPEQI_COMPACT; sh2a_fpu_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH2A_FPU_INSN_BT_COMPACT; sh2a_fpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_BT_COMPACT; sh2a_fpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH2A_FPU_INSN_BF_COMPACT; sh2a_fpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_BF_COMPACT; sh2a_fpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH2A_FPU_INSN_BTS_COMPACT; sh2a_fpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_BTS_COMPACT; sh2a_fpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH2A_FPU_INSN_BFS_COMPACT; sh2a_fpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_BFS_COMPACT; sh2a_fpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2237,9 +2092,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 1278 : /* fall through */ case 1279 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH2A_FPU_INSN_MOVW10_COMPACT; sh2a_fpu_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW10_COMPACT; sh2a_fpu_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ @@ -2369,9 +2222,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 1406 : /* fall through */ case 1407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH2A_FPU_INSN_BRA_COMPACT; sh2a_fpu_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_BRA_COMPACT; sh2a_fpu_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ @@ -2501,9 +2352,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 1534 : /* fall through */ case 1535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH2A_FPU_INSN_BSR_COMPACT; sh2a_fpu_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_BSR_COMPACT; sh2a_fpu_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ @@ -2638,84 +2487,52 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH2A_FPU_INSN_MOVB4_COMPACT; sh2a_fpu_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVB4_COMPACT; sh2a_fpu_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH2A_FPU_INSN_MOVW4_COMPACT; sh2a_fpu_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW4_COMPACT; sh2a_fpu_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH2A_FPU_INSN_MOVL4_COMPACT; sh2a_fpu_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL4_COMPACT; sh2a_fpu_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH2A_FPU_INSN_TRAPA_COMPACT; sh2a_fpu_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_TRAPA_COMPACT; sh2a_fpu_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH2A_FPU_INSN_MOVB9_COMPACT; sh2a_fpu_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVB9_COMPACT; sh2a_fpu_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH2A_FPU_INSN_MOVW9_COMPACT; sh2a_fpu_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVW9_COMPACT; sh2a_fpu_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH2A_FPU_INSN_MOVL9_COMPACT; sh2a_fpu_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL9_COMPACT; sh2a_fpu_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH2A_FPU_INSN_MOVA_COMPACT; sh2a_fpu_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVA_COMPACT; sh2a_fpu_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH2A_FPU_INSN_TSTI_COMPACT; sh2a_fpu_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_TSTI_COMPACT; sh2a_fpu_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH2A_FPU_INSN_ANDI_COMPACT; sh2a_fpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_ANDI_COMPACT; sh2a_fpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH2A_FPU_INSN_XORI_COMPACT; sh2a_fpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_XORI_COMPACT; sh2a_fpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH2A_FPU_INSN_ORI_COMPACT; sh2a_fpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_ORI_COMPACT; sh2a_fpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH2A_FPU_INSN_TSTB_COMPACT; sh2a_fpu_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_TSTB_COMPACT; sh2a_fpu_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH2A_FPU_INSN_ANDB_COMPACT; sh2a_fpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_ANDB_COMPACT; sh2a_fpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH2A_FPU_INSN_XORB_COMPACT; sh2a_fpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_XORB_COMPACT; sh2a_fpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH2A_FPU_INSN_ORB_COMPACT; sh2a_fpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_ORB_COMPACT; sh2a_fpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2848,9 +2665,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 1790 : /* fall through */ case 1791 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH2A_FPU_INSN_MOVL10_COMPACT; sh2a_fpu_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVL10_COMPACT; sh2a_fpu_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ @@ -2980,9 +2795,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 1918 : /* fall through */ case 1919 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH2A_FPU_INSN_MOVI_COMPACT; sh2a_fpu_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_MOVI_COMPACT; sh2a_fpu_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1920 : /* fall through */ case 1936 : /* fall through */ case 1952 : /* fall through */ @@ -2992,9 +2805,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2016 : /* fall through */ case 2032 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf000) - { itype = SH2A_FPU_INSN_FADD_COMPACT; sh2a_fpu_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FADD_COMPACT; sh2a_fpu_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1921 : /* fall through */ case 1937 : /* fall through */ case 1953 : /* fall through */ @@ -3004,9 +2815,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2017 : /* fall through */ case 2033 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf001) - { itype = SH2A_FPU_INSN_FSUB_COMPACT; sh2a_fpu_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FSUB_COMPACT; sh2a_fpu_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1922 : /* fall through */ case 1938 : /* fall through */ case 1954 : /* fall through */ @@ -3016,9 +2825,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2018 : /* fall through */ case 2034 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf002) - { itype = SH2A_FPU_INSN_FMUL_COMPACT; sh2a_fpu_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FMUL_COMPACT; sh2a_fpu_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1923 : /* fall through */ case 1939 : /* fall through */ case 1955 : /* fall through */ @@ -3028,9 +2835,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2019 : /* fall through */ case 2035 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf003) - { itype = SH2A_FPU_INSN_FDIV_COMPACT; sh2a_fpu_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FDIV_COMPACT; sh2a_fpu_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1924 : /* fall through */ case 1940 : /* fall through */ case 1956 : /* fall through */ @@ -3040,9 +2845,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2020 : /* fall through */ case 2036 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf004) - { itype = SH2A_FPU_INSN_FCMPEQ_COMPACT; sh2a_fpu_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FCMPEQ_COMPACT; sh2a_fpu_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1925 : /* fall through */ case 1941 : /* fall through */ case 1957 : /* fall through */ @@ -3052,9 +2855,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2021 : /* fall through */ case 2037 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf005) - { itype = SH2A_FPU_INSN_FCMPGT_COMPACT; sh2a_fpu_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FCMPGT_COMPACT; sh2a_fpu_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1926 : /* fall through */ case 1942 : /* fall through */ case 1958 : /* fall through */ @@ -3064,9 +2865,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2022 : /* fall through */ case 2038 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf006) - { itype = SH2A_FPU_INSN_FMOV4_COMPACT; sh2a_fpu_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FMOV4_COMPACT; sh2a_fpu_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1927 : /* fall through */ case 1943 : /* fall through */ case 1959 : /* fall through */ @@ -3076,9 +2875,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2023 : /* fall through */ case 2039 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf007) - { itype = SH2A_FPU_INSN_FMOV7_COMPACT; sh2a_fpu_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FMOV7_COMPACT; sh2a_fpu_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1928 : /* fall through */ case 1944 : /* fall through */ case 1960 : /* fall through */ @@ -3088,9 +2885,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2024 : /* fall through */ case 2040 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf008) - { itype = SH2A_FPU_INSN_FMOV2_COMPACT; sh2a_fpu_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FMOV2_COMPACT; sh2a_fpu_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1929 : /* fall through */ case 1945 : /* fall through */ case 1961 : /* fall through */ @@ -3100,9 +2895,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2025 : /* fall through */ case 2041 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf009) - { itype = SH2A_FPU_INSN_FMOV3_COMPACT; sh2a_fpu_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FMOV3_COMPACT; sh2a_fpu_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1930 : /* fall through */ case 1946 : /* fall through */ case 1962 : /* fall through */ @@ -3112,9 +2905,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2026 : /* fall through */ case 2042 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00a) - { itype = SH2A_FPU_INSN_FMOV5_COMPACT; sh2a_fpu_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FMOV5_COMPACT; sh2a_fpu_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1931 : /* fall through */ case 1947 : /* fall through */ case 1963 : /* fall through */ @@ -3124,9 +2915,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2027 : /* fall through */ case 2043 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00b) - { itype = SH2A_FPU_INSN_FMOV6_COMPACT; sh2a_fpu_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FMOV6_COMPACT; sh2a_fpu_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1932 : /* fall through */ case 1948 : /* fall through */ case 1964 : /* fall through */ @@ -3136,9 +2925,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2028 : /* fall through */ case 2044 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00c) - { itype = SH2A_FPU_INSN_FMOV1_COMPACT; sh2a_fpu_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FMOV1_COMPACT; sh2a_fpu_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1933 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3146,14 +2933,10 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf00d) - { itype = SH2A_FPU_INSN_FSTS_COMPACT; sh2a_fpu_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FSTS_COMPACT; sh2a_fpu_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf08d) - { itype = SH2A_FPU_INSN_FLDI0_COMPACT; sh2a_fpu_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FLDI0_COMPACT; sh2a_fpu_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3166,9 +2949,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor case 2030 : /* fall through */ case 2046 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00e) - { itype = SH2A_FPU_INSN_FMAC_COMPACT; sh2a_fpu_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FMAC_COMPACT; sh2a_fpu_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1949 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3176,14 +2957,10 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf01d) - { itype = SH2A_FPU_INSN_FLDS_COMPACT; sh2a_fpu_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FLDS_COMPACT; sh2a_fpu_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf09d) - { itype = SH2A_FPU_INSN_FLDI1_COMPACT; sh2a_fpu_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FLDI1_COMPACT; sh2a_fpu_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3194,9 +2971,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf02d) - { itype = SH2A_FPU_INSN_FLOAT_COMPACT; sh2a_fpu_extract_sfmt_float_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FLOAT_COMPACT; sh2a_fpu_extract_sfmt_float_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf1ff) == 0xf0ad) @@ -3212,9 +2987,7 @@ sh2a_fpu_scache::decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_wor { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf03d) - { itype = SH2A_FPU_INSN_FTRC_COMPACT; sh2a_fpu_extract_sfmt_ftrc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_FPU_INSN_X_INVALID; sh2a_fpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_FPU_INSN_FTRC_COMPACT; sh2a_fpu_extract_sfmt_ftrc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf1ff) == 0xf0bd) diff --git a/sid/component/cgen-cpu/sh/sh2a-fpu-decode.h b/sid/component/cgen-cpu/sh/sh2a-fpu-decode.h index af10f2a45b..e47c08e4d5 100644 --- a/sid/component/cgen-cpu/sh/sh2a-fpu-decode.h +++ b/sid/component/cgen-cpu/sh/sh2a-fpu-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-fpu-defs.h b/sid/component/cgen-cpu/sh/sh2a-fpu-defs.h index de5b14d34f..ccf3a1c76e 100644 --- a/sid/component/cgen-cpu/sh/sh2a-fpu-defs.h +++ b/sid/component/cgen-cpu/sh/sh2a-fpu-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-fpu-model.cxx b/sid/component/cgen-cpu/sh/sh2a-fpu-model.cxx index b227ff8b8d..da318ea5d8 100644 --- a/sid/component/cgen-cpu/sh/sh2a-fpu-model.cxx +++ b/sid/component/cgen-cpu/sh/sh2a-fpu-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-fpu-model.h b/sid/component/cgen-cpu/sh/sh2a-fpu-model.h index 1dbadd7588..1e88d23902 100644 --- a/sid/component/cgen-cpu/sh/sh2a-fpu-model.h +++ b/sid/component/cgen-cpu/sh/sh2a-fpu-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-fpu-sem.cxx b/sid/component/cgen-cpu/sh/sh2a-fpu-sem.cxx index 107f6f439d..c3af25ab3c 100644 --- a/sid/component/cgen-cpu/sh/sh2a-fpu-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh2a-fpu-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-fpu-write.cxx b/sid/component/cgen-cpu/sh/sh2a-fpu-write.cxx index c9f9f23f2d..11fa739bbc 100644 --- a/sid/component/cgen-cpu/sh/sh2a-fpu-write.cxx +++ b/sid/component/cgen-cpu/sh/sh2a-fpu-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-nofpu-cpu.h b/sid/component/cgen-cpu/sh/sh2a-nofpu-cpu.h index 3bbc708096..29b3dbb2f1 100644 --- a/sid/component/cgen-cpu/sh/sh2a-nofpu-cpu.h +++ b/sid/component/cgen-cpu/sh/sh2a-nofpu-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -103,7 +103,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh2a-nofpu-decode.cxx b/sid/component/cgen-cpu/sh/sh2a-nofpu-decode.cxx index 1791e88ba3..fadcef05f7 100644 --- a/sid/component/cgen-cpu/sh/sh2a-nofpu-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh2a-nofpu-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -407,10 +407,7 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 0 : /* fall through */ case 16 : /* fall through */ case 32 : /* fall through */ - case 48 : - if ((entire_insn & 0xf00f0000) == 0x0) - { itype = SH2A_NOFPU_INSN_MOVI20_COMPACT; sh2a_nofpu_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 48 : itype = SH2A_NOFPU_INSN_MOVI20_COMPACT; sh2a_nofpu_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x3) @@ -421,33 +418,25 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 36 : /* fall through */ case 52 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH2A_NOFPU_INSN_MOVB3_COMPACT; sh2a_nofpu_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVB3_COMPACT; sh2a_nofpu_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ case 53 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH2A_NOFPU_INSN_MOVW3_COMPACT; sh2a_nofpu_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW3_COMPACT; sh2a_nofpu_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ case 54 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH2A_NOFPU_INSN_MOVL3_COMPACT; sh2a_nofpu_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL3_COMPACT; sh2a_nofpu_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ case 55 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH2A_NOFPU_INSN_MULL_COMPACT; sh2a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MULL_COMPACT; sh2a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffff) == 0x8) @@ -473,33 +462,25 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 44 : /* fall through */ case 60 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH2A_NOFPU_INSN_MOVB8_COMPACT; sh2a_nofpu_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVB8_COMPACT; sh2a_nofpu_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ case 61 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH2A_NOFPU_INSN_MOVW8_COMPACT; sh2a_nofpu_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW8_COMPACT; sh2a_nofpu_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ case 62 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH2A_NOFPU_INSN_MOVL8_COMPACT; sh2a_nofpu_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL8_COMPACT; sh2a_nofpu_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ case 63 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH2A_NOFPU_INSN_MACL_COMPACT; sh2a_nofpu_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MACL_COMPACT; sh2a_nofpu_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -610,137 +591,103 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 126 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH2A_NOFPU_INSN_MOVL5_COMPACT; sh2a_nofpu_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL5_COMPACT; sh2a_nofpu_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 128 : /* fall through */ case 144 : /* fall through */ case 160 : /* fall through */ case 176 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH2A_NOFPU_INSN_MOVB1_COMPACT; sh2a_nofpu_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVB1_COMPACT; sh2a_nofpu_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 129 : /* fall through */ case 145 : /* fall through */ case 161 : /* fall through */ case 177 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH2A_NOFPU_INSN_MOVW1_COMPACT; sh2a_nofpu_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW1_COMPACT; sh2a_nofpu_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 130 : /* fall through */ case 146 : /* fall through */ case 162 : /* fall through */ case 178 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH2A_NOFPU_INSN_MOVL1_COMPACT; sh2a_nofpu_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL1_COMPACT; sh2a_nofpu_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 132 : /* fall through */ case 148 : /* fall through */ case 164 : /* fall through */ case 180 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH2A_NOFPU_INSN_MOVB2_COMPACT; sh2a_nofpu_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVB2_COMPACT; sh2a_nofpu_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 133 : /* fall through */ case 149 : /* fall through */ case 165 : /* fall through */ case 181 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH2A_NOFPU_INSN_MOVW2_COMPACT; sh2a_nofpu_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW2_COMPACT; sh2a_nofpu_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 134 : /* fall through */ case 150 : /* fall through */ case 166 : /* fall through */ case 182 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH2A_NOFPU_INSN_MOVL2_COMPACT; sh2a_nofpu_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL2_COMPACT; sh2a_nofpu_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 135 : /* fall through */ case 151 : /* fall through */ case 167 : /* fall through */ case 183 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH2A_NOFPU_INSN_DIV0S_COMPACT; sh2a_nofpu_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_DIV0S_COMPACT; sh2a_nofpu_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 136 : /* fall through */ case 152 : /* fall through */ case 168 : /* fall through */ case 184 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH2A_NOFPU_INSN_TST_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_TST_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 137 : /* fall through */ case 153 : /* fall through */ case 169 : /* fall through */ case 185 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH2A_NOFPU_INSN_AND_COMPACT; sh2a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_AND_COMPACT; sh2a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 138 : /* fall through */ case 154 : /* fall through */ case 170 : /* fall through */ case 186 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH2A_NOFPU_INSN_XOR_COMPACT; sh2a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_XOR_COMPACT; sh2a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 139 : /* fall through */ case 155 : /* fall through */ case 171 : /* fall through */ case 187 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH2A_NOFPU_INSN_OR_COMPACT; sh2a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_OR_COMPACT; sh2a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 140 : /* fall through */ case 156 : /* fall through */ case 172 : /* fall through */ case 188 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH2A_NOFPU_INSN_CMPSTR_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_CMPSTR_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 141 : /* fall through */ case 157 : /* fall through */ case 173 : /* fall through */ case 189 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH2A_NOFPU_INSN_XTRCT_COMPACT; sh2a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_XTRCT_COMPACT; sh2a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 142 : /* fall through */ case 158 : /* fall through */ case 174 : /* fall through */ case 190 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH2A_NOFPU_INSN_MULUW_COMPACT; sh2a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MULUW_COMPACT; sh2a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 143 : /* fall through */ case 159 : /* fall through */ case 175 : /* fall through */ case 191 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH2A_NOFPU_INSN_MULSW_COMPACT; sh2a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MULSW_COMPACT; sh2a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 192 : /* fall through */ case 208 : /* fall through */ case 224 : /* fall through */ case 240 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH2A_NOFPU_INSN_CMPEQ_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_CMPEQ_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 193 : /* fall through */ case 209 : /* fall through */ case 225 : /* fall through */ @@ -765,105 +712,79 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 226 : /* fall through */ case 242 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH2A_NOFPU_INSN_CMPHS_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_CMPHS_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 195 : /* fall through */ case 211 : /* fall through */ case 227 : /* fall through */ case 243 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH2A_NOFPU_INSN_CMPGE_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_CMPGE_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 196 : /* fall through */ case 212 : /* fall through */ case 228 : /* fall through */ case 244 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH2A_NOFPU_INSN_DIV1_COMPACT; sh2a_nofpu_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_DIV1_COMPACT; sh2a_nofpu_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 197 : /* fall through */ case 213 : /* fall through */ case 229 : /* fall through */ case 245 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH2A_NOFPU_INSN_DMULUL_COMPACT; sh2a_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_DMULUL_COMPACT; sh2a_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 198 : /* fall through */ case 214 : /* fall through */ case 230 : /* fall through */ case 246 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH2A_NOFPU_INSN_CMPHI_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_CMPHI_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 199 : /* fall through */ case 215 : /* fall through */ case 231 : /* fall through */ case 247 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH2A_NOFPU_INSN_CMPGT_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_CMPGT_COMPACT; sh2a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 200 : /* fall through */ case 216 : /* fall through */ case 232 : /* fall through */ case 248 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH2A_NOFPU_INSN_SUB_COMPACT; sh2a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_SUB_COMPACT; sh2a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 202 : /* fall through */ case 218 : /* fall through */ case 234 : /* fall through */ case 250 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH2A_NOFPU_INSN_SUBC_COMPACT; sh2a_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_SUBC_COMPACT; sh2a_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 203 : /* fall through */ case 219 : /* fall through */ case 235 : /* fall through */ case 251 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH2A_NOFPU_INSN_SUBV_COMPACT; sh2a_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_SUBV_COMPACT; sh2a_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 204 : /* fall through */ case 220 : /* fall through */ case 236 : /* fall through */ case 252 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH2A_NOFPU_INSN_ADD_COMPACT; sh2a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_ADD_COMPACT; sh2a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 205 : /* fall through */ case 221 : /* fall through */ case 237 : /* fall through */ case 253 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH2A_NOFPU_INSN_DMULSL_COMPACT; sh2a_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_DMULSL_COMPACT; sh2a_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 206 : /* fall through */ case 222 : /* fall through */ case 238 : /* fall through */ case 254 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH2A_NOFPU_INSN_ADDC_COMPACT; sh2a_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_ADDC_COMPACT; sh2a_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 207 : /* fall through */ case 223 : /* fall through */ case 239 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH2A_NOFPU_INSN_ADDV_COMPACT; sh2a_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_ADDV_COMPACT; sh2a_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -945,9 +866,7 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 300 : /* fall through */ case 316 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400c) - { itype = SH2A_NOFPU_INSN_SHAD_COMPACT; sh2a_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_SHAD_COMPACT; sh2a_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x400e) @@ -958,9 +877,7 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 303 : /* fall through */ case 319 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH2A_NOFPU_INSN_MACW_COMPACT; sh2a_nofpu_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MACW_COMPACT; sh2a_nofpu_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 272 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1151,137 +1068,103 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 382 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH2A_NOFPU_INSN_MOVL11_COMPACT; sh2a_nofpu_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL11_COMPACT; sh2a_nofpu_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ case 432 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH2A_NOFPU_INSN_MOVB6_COMPACT; sh2a_nofpu_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVB6_COMPACT; sh2a_nofpu_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 385 : /* fall through */ case 401 : /* fall through */ case 417 : /* fall through */ case 433 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH2A_NOFPU_INSN_MOVW6_COMPACT; sh2a_nofpu_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW6_COMPACT; sh2a_nofpu_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ case 402 : /* fall through */ case 418 : /* fall through */ case 434 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH2A_NOFPU_INSN_MOVL6_COMPACT; sh2a_nofpu_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL6_COMPACT; sh2a_nofpu_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ case 435 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH2A_NOFPU_INSN_MOV_COMPACT; sh2a_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOV_COMPACT; sh2a_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ case 436 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH2A_NOFPU_INSN_MOVB7_COMPACT; sh2a_nofpu_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVB7_COMPACT; sh2a_nofpu_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ case 437 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH2A_NOFPU_INSN_MOVW7_COMPACT; sh2a_nofpu_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW7_COMPACT; sh2a_nofpu_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ case 438 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH2A_NOFPU_INSN_MOVL7_COMPACT; sh2a_nofpu_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL7_COMPACT; sh2a_nofpu_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ case 439 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH2A_NOFPU_INSN_NOT_COMPACT; sh2a_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_NOT_COMPACT; sh2a_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ case 440 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH2A_NOFPU_INSN_SWAPB_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_SWAPB_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 393 : /* fall through */ case 409 : /* fall through */ case 425 : /* fall through */ case 441 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH2A_NOFPU_INSN_SWAPW_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_SWAPW_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ case 442 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH2A_NOFPU_INSN_NEGC_COMPACT; sh2a_nofpu_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_NEGC_COMPACT; sh2a_nofpu_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ case 443 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH2A_NOFPU_INSN_NEG_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_NEG_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ case 444 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH2A_NOFPU_INSN_EXTUB_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_EXTUB_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ case 445 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH2A_NOFPU_INSN_EXTUW_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_EXTUW_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ case 446 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH2A_NOFPU_INSN_EXTSB_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_EXTSB_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ case 447 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH2A_NOFPU_INSN_EXTSW_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_EXTSW_COMPACT; sh2a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 448 : /* fall through */ case 449 : /* fall through */ case 450 : /* fall through */ @@ -1347,9 +1230,7 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 510 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH2A_NOFPU_INSN_ADDI_COMPACT; sh2a_nofpu_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_ADDI_COMPACT; sh2a_nofpu_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : /* fall through */ case 513 : /* fall through */ case 514 : /* fall through */ @@ -1420,49 +1301,31 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH2A_NOFPU_INSN_MOVB5_COMPACT; sh2a_nofpu_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVB5_COMPACT; sh2a_nofpu_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH2A_NOFPU_INSN_MOVW5_COMPACT; sh2a_nofpu_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW5_COMPACT; sh2a_nofpu_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH2A_NOFPU_INSN_MOVB10_COMPACT; sh2a_nofpu_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVB10_COMPACT; sh2a_nofpu_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH2A_NOFPU_INSN_MOVW11_COMPACT; sh2a_nofpu_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW11_COMPACT; sh2a_nofpu_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH2A_NOFPU_INSN_CMPEQI_COMPACT; sh2a_nofpu_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_CMPEQI_COMPACT; sh2a_nofpu_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH2A_NOFPU_INSN_BT_COMPACT; sh2a_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_BT_COMPACT; sh2a_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH2A_NOFPU_INSN_BF_COMPACT; sh2a_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_BF_COMPACT; sh2a_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH2A_NOFPU_INSN_BTS_COMPACT; sh2a_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_BTS_COMPACT; sh2a_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH2A_NOFPU_INSN_BFS_COMPACT; sh2a_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_BFS_COMPACT; sh2a_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1531,9 +1394,7 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 638 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH2A_NOFPU_INSN_MOVW10_COMPACT; sh2a_nofpu_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW10_COMPACT; sh2a_nofpu_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 640 : /* fall through */ case 641 : /* fall through */ case 642 : /* fall through */ @@ -1599,9 +1460,7 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 702 : /* fall through */ case 703 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH2A_NOFPU_INSN_BRA_COMPACT; sh2a_nofpu_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_BRA_COMPACT; sh2a_nofpu_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 704 : /* fall through */ case 705 : /* fall through */ case 706 : /* fall through */ @@ -1667,9 +1526,7 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH2A_NOFPU_INSN_BSR_COMPACT; sh2a_nofpu_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_BSR_COMPACT; sh2a_nofpu_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 769 : /* fall through */ case 770 : /* fall through */ @@ -1740,84 +1597,52 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH2A_NOFPU_INSN_MOVB4_COMPACT; sh2a_nofpu_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVB4_COMPACT; sh2a_nofpu_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH2A_NOFPU_INSN_MOVW4_COMPACT; sh2a_nofpu_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW4_COMPACT; sh2a_nofpu_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH2A_NOFPU_INSN_MOVL4_COMPACT; sh2a_nofpu_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL4_COMPACT; sh2a_nofpu_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH2A_NOFPU_INSN_TRAPA_COMPACT; sh2a_nofpu_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_TRAPA_COMPACT; sh2a_nofpu_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH2A_NOFPU_INSN_MOVB9_COMPACT; sh2a_nofpu_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVB9_COMPACT; sh2a_nofpu_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH2A_NOFPU_INSN_MOVW9_COMPACT; sh2a_nofpu_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVW9_COMPACT; sh2a_nofpu_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH2A_NOFPU_INSN_MOVL9_COMPACT; sh2a_nofpu_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL9_COMPACT; sh2a_nofpu_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH2A_NOFPU_INSN_MOVA_COMPACT; sh2a_nofpu_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVA_COMPACT; sh2a_nofpu_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH2A_NOFPU_INSN_TSTI_COMPACT; sh2a_nofpu_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_TSTI_COMPACT; sh2a_nofpu_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH2A_NOFPU_INSN_ANDI_COMPACT; sh2a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_ANDI_COMPACT; sh2a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH2A_NOFPU_INSN_XORI_COMPACT; sh2a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_XORI_COMPACT; sh2a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH2A_NOFPU_INSN_ORI_COMPACT; sh2a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_ORI_COMPACT; sh2a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH2A_NOFPU_INSN_TSTB_COMPACT; sh2a_nofpu_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_TSTB_COMPACT; sh2a_nofpu_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH2A_NOFPU_INSN_ANDB_COMPACT; sh2a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_ANDB_COMPACT; sh2a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH2A_NOFPU_INSN_XORB_COMPACT; sh2a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_XORB_COMPACT; sh2a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH2A_NOFPU_INSN_ORB_COMPACT; sh2a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_ORB_COMPACT; sh2a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1886,9 +1711,7 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 894 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH2A_NOFPU_INSN_MOVL10_COMPACT; sh2a_nofpu_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVL10_COMPACT; sh2a_nofpu_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -1954,9 +1777,7 @@ sh2a_nofpu_scache::decode (sh2a_nofpu_cpu* current_cpu, PCADDR pc, sh2a_nofpu_in case 958 : /* fall through */ case 959 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH2A_NOFPU_INSN_MOVI_COMPACT; sh2a_nofpu_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2A_NOFPU_INSN_X_INVALID; sh2a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2A_NOFPU_INSN_MOVI_COMPACT; sh2a_nofpu_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1021 : { unsigned int val = (((insn >> 27) & (1 << 0))); diff --git a/sid/component/cgen-cpu/sh/sh2a-nofpu-decode.h b/sid/component/cgen-cpu/sh/sh2a-nofpu-decode.h index 30d189fa54..31b2190054 100644 --- a/sid/component/cgen-cpu/sh/sh2a-nofpu-decode.h +++ b/sid/component/cgen-cpu/sh/sh2a-nofpu-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-nofpu-defs.h b/sid/component/cgen-cpu/sh/sh2a-nofpu-defs.h index 1337930189..bd524e412e 100644 --- a/sid/component/cgen-cpu/sh/sh2a-nofpu-defs.h +++ b/sid/component/cgen-cpu/sh/sh2a-nofpu-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-nofpu-model.cxx b/sid/component/cgen-cpu/sh/sh2a-nofpu-model.cxx index 5570d78640..43a73372c9 100644 --- a/sid/component/cgen-cpu/sh/sh2a-nofpu-model.cxx +++ b/sid/component/cgen-cpu/sh/sh2a-nofpu-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-nofpu-model.h b/sid/component/cgen-cpu/sh/sh2a-nofpu-model.h index 5d58111395..db66d43391 100644 --- a/sid/component/cgen-cpu/sh/sh2a-nofpu-model.h +++ b/sid/component/cgen-cpu/sh/sh2a-nofpu-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-nofpu-sem.cxx b/sid/component/cgen-cpu/sh/sh2a-nofpu-sem.cxx index fe6cd178c3..daa3077269 100644 --- a/sid/component/cgen-cpu/sh/sh2a-nofpu-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh2a-nofpu-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2a-nofpu-write.cxx b/sid/component/cgen-cpu/sh/sh2a-nofpu-write.cxx index 7ae43a8b8a..ac35b866ca 100644 --- a/sid/component/cgen-cpu/sh/sh2a-nofpu-write.cxx +++ b/sid/component/cgen-cpu/sh/sh2a-nofpu-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2e-cpu.h b/sid/component/cgen-cpu/sh/sh2e-cpu.h index f21562d7a8..b6a6276614 100644 --- a/sid/component/cgen-cpu/sh/sh2e-cpu.h +++ b/sid/component/cgen-cpu/sh/sh2e-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -115,7 +115,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh2e-decode.cxx b/sid/component/cgen-cpu/sh/sh2e-decode.cxx index 372e3f1e78..79e3a0045e 100644 --- a/sid/component/cgen-cpu/sh/sh2e-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh2e-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -480,9 +480,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 100 : /* fall through */ case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH2E_INSN_MOVB3_COMPACT; sh2e_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVB3_COMPACT; sh2e_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ @@ -492,9 +490,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 101 : /* fall through */ case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH2E_INSN_MOVW3_COMPACT; sh2e_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW3_COMPACT; sh2e_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ @@ -504,9 +500,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 102 : /* fall through */ case 118 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH2E_INSN_MOVL3_COMPACT; sh2e_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL3_COMPACT; sh2e_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ @@ -516,9 +510,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 103 : /* fall through */ case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH2E_INSN_MULL_COMPACT; sh2e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MULL_COMPACT; sh2e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffff) == 0x8) @@ -548,9 +540,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 108 : /* fall through */ case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH2E_INSN_MOVB8_COMPACT; sh2e_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVB8_COMPACT; sh2e_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ @@ -560,9 +550,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 109 : /* fall through */ case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH2E_INSN_MOVW8_COMPACT; sh2e_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW8_COMPACT; sh2e_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ @@ -572,9 +560,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 110 : /* fall through */ case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH2E_INSN_MOVL8_COMPACT; sh2e_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL8_COMPACT; sh2e_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ @@ -584,9 +570,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 111 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH2E_INSN_MACL_COMPACT; sh2e_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MACL_COMPACT; sh2e_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -771,9 +755,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 254 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH2E_INSN_MOVL5_COMPACT; sh2e_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL5_COMPACT; sh2e_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : /* fall through */ case 272 : /* fall through */ case 288 : /* fall through */ @@ -783,9 +765,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 352 : /* fall through */ case 368 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH2E_INSN_MOVB1_COMPACT; sh2e_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVB1_COMPACT; sh2e_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 257 : /* fall through */ case 273 : /* fall through */ case 289 : /* fall through */ @@ -795,9 +775,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 353 : /* fall through */ case 369 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH2E_INSN_MOVW1_COMPACT; sh2e_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW1_COMPACT; sh2e_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 258 : /* fall through */ case 274 : /* fall through */ case 290 : /* fall through */ @@ -807,9 +785,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 354 : /* fall through */ case 370 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH2E_INSN_MOVL1_COMPACT; sh2e_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL1_COMPACT; sh2e_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 260 : /* fall through */ case 276 : /* fall through */ case 292 : /* fall through */ @@ -819,9 +795,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 356 : /* fall through */ case 372 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH2E_INSN_MOVB2_COMPACT; sh2e_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVB2_COMPACT; sh2e_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 261 : /* fall through */ case 277 : /* fall through */ case 293 : /* fall through */ @@ -831,9 +805,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 357 : /* fall through */ case 373 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH2E_INSN_MOVW2_COMPACT; sh2e_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW2_COMPACT; sh2e_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 262 : /* fall through */ case 278 : /* fall through */ case 294 : /* fall through */ @@ -843,9 +815,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 358 : /* fall through */ case 374 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH2E_INSN_MOVL2_COMPACT; sh2e_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL2_COMPACT; sh2e_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 263 : /* fall through */ case 279 : /* fall through */ case 295 : /* fall through */ @@ -855,9 +825,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 359 : /* fall through */ case 375 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH2E_INSN_DIV0S_COMPACT; sh2e_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_DIV0S_COMPACT; sh2e_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 280 : /* fall through */ case 296 : /* fall through */ @@ -867,9 +835,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 360 : /* fall through */ case 376 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH2E_INSN_TST_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_TST_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 265 : /* fall through */ case 281 : /* fall through */ case 297 : /* fall through */ @@ -879,9 +845,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 361 : /* fall through */ case 377 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH2E_INSN_AND_COMPACT; sh2e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_AND_COMPACT; sh2e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 266 : /* fall through */ case 282 : /* fall through */ case 298 : /* fall through */ @@ -891,9 +855,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 362 : /* fall through */ case 378 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH2E_INSN_XOR_COMPACT; sh2e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_XOR_COMPACT; sh2e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 267 : /* fall through */ case 283 : /* fall through */ case 299 : /* fall through */ @@ -903,9 +865,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 363 : /* fall through */ case 379 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH2E_INSN_OR_COMPACT; sh2e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_OR_COMPACT; sh2e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 268 : /* fall through */ case 284 : /* fall through */ case 300 : /* fall through */ @@ -915,9 +875,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 364 : /* fall through */ case 380 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH2E_INSN_CMPSTR_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_CMPSTR_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 269 : /* fall through */ case 285 : /* fall through */ case 301 : /* fall through */ @@ -927,9 +885,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 365 : /* fall through */ case 381 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH2E_INSN_XTRCT_COMPACT; sh2e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_XTRCT_COMPACT; sh2e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : /* fall through */ case 286 : /* fall through */ case 302 : /* fall through */ @@ -939,9 +895,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 366 : /* fall through */ case 382 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH2E_INSN_MULUW_COMPACT; sh2e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MULUW_COMPACT; sh2e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 271 : /* fall through */ case 287 : /* fall through */ case 303 : /* fall through */ @@ -951,9 +905,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 367 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH2E_INSN_MULSW_COMPACT; sh2e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MULSW_COMPACT; sh2e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ @@ -963,9 +915,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 480 : /* fall through */ case 496 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH2E_INSN_CMPEQ_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_CMPEQ_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ case 402 : /* fall through */ case 418 : /* fall through */ @@ -975,9 +925,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 482 : /* fall through */ case 498 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH2E_INSN_CMPHS_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_CMPHS_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ @@ -987,9 +935,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 483 : /* fall through */ case 499 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH2E_INSN_CMPGE_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_CMPGE_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ @@ -999,9 +945,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 484 : /* fall through */ case 500 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH2E_INSN_DIV1_COMPACT; sh2e_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_DIV1_COMPACT; sh2e_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ @@ -1011,9 +955,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 485 : /* fall through */ case 501 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH2E_INSN_DMULUL_COMPACT; sh2e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_DMULUL_COMPACT; sh2e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ @@ -1023,9 +965,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 486 : /* fall through */ case 502 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH2E_INSN_CMPHI_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_CMPHI_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ @@ -1035,9 +975,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 487 : /* fall through */ case 503 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH2E_INSN_CMPGT_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_CMPGT_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ @@ -1047,9 +985,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 488 : /* fall through */ case 504 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH2E_INSN_SUB_COMPACT; sh2e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_SUB_COMPACT; sh2e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ @@ -1059,9 +995,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 490 : /* fall through */ case 506 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH2E_INSN_SUBC_COMPACT; sh2e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_SUBC_COMPACT; sh2e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ @@ -1071,9 +1005,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 491 : /* fall through */ case 507 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH2E_INSN_SUBV_COMPACT; sh2e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_SUBV_COMPACT; sh2e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ @@ -1083,9 +1015,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 492 : /* fall through */ case 508 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH2E_INSN_ADD_COMPACT; sh2e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_ADD_COMPACT; sh2e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ @@ -1095,9 +1025,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 493 : /* fall through */ case 509 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH2E_INSN_DMULSL_COMPACT; sh2e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_DMULSL_COMPACT; sh2e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ @@ -1107,9 +1035,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 494 : /* fall through */ case 510 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH2E_INSN_ADDC_COMPACT; sh2e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_ADDC_COMPACT; sh2e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ @@ -1119,9 +1045,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 495 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH2E_INSN_ADDV_COMPACT; sh2e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_ADDV_COMPACT; sh2e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4000) @@ -1186,9 +1110,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 623 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH2E_INSN_MACW_COMPACT; sh2e_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MACW_COMPACT; sh2e_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1473,9 +1395,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH2E_INSN_MOVL11_COMPACT; sh2e_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL11_COMPACT; sh2e_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 784 : /* fall through */ case 800 : /* fall through */ @@ -1485,9 +1405,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 864 : /* fall through */ case 880 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH2E_INSN_MOVB6_COMPACT; sh2e_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVB6_COMPACT; sh2e_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 785 : /* fall through */ case 801 : /* fall through */ @@ -1497,9 +1415,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 865 : /* fall through */ case 881 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH2E_INSN_MOVW6_COMPACT; sh2e_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW6_COMPACT; sh2e_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 770 : /* fall through */ case 786 : /* fall through */ case 802 : /* fall through */ @@ -1509,9 +1425,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 866 : /* fall through */ case 882 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH2E_INSN_MOVL6_COMPACT; sh2e_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL6_COMPACT; sh2e_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 771 : /* fall through */ case 787 : /* fall through */ case 803 : /* fall through */ @@ -1521,9 +1435,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 867 : /* fall through */ case 883 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH2E_INSN_MOV_COMPACT; sh2e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOV_COMPACT; sh2e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 772 : /* fall through */ case 788 : /* fall through */ case 804 : /* fall through */ @@ -1533,9 +1445,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 868 : /* fall through */ case 884 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH2E_INSN_MOVB7_COMPACT; sh2e_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVB7_COMPACT; sh2e_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 773 : /* fall through */ case 789 : /* fall through */ case 805 : /* fall through */ @@ -1545,9 +1455,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 869 : /* fall through */ case 885 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH2E_INSN_MOVW7_COMPACT; sh2e_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW7_COMPACT; sh2e_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 774 : /* fall through */ case 790 : /* fall through */ case 806 : /* fall through */ @@ -1557,9 +1465,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 870 : /* fall through */ case 886 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH2E_INSN_MOVL7_COMPACT; sh2e_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL7_COMPACT; sh2e_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 775 : /* fall through */ case 791 : /* fall through */ case 807 : /* fall through */ @@ -1569,9 +1475,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 871 : /* fall through */ case 887 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH2E_INSN_NOT_COMPACT; sh2e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_NOT_COMPACT; sh2e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 776 : /* fall through */ case 792 : /* fall through */ case 808 : /* fall through */ @@ -1581,9 +1485,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 872 : /* fall through */ case 888 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH2E_INSN_SWAPB_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_SWAPB_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 777 : /* fall through */ case 793 : /* fall through */ case 809 : /* fall through */ @@ -1593,9 +1495,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 873 : /* fall through */ case 889 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH2E_INSN_SWAPW_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_SWAPW_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 778 : /* fall through */ case 794 : /* fall through */ case 810 : /* fall through */ @@ -1605,9 +1505,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 874 : /* fall through */ case 890 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH2E_INSN_NEGC_COMPACT; sh2e_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_NEGC_COMPACT; sh2e_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 779 : /* fall through */ case 795 : /* fall through */ case 811 : /* fall through */ @@ -1617,9 +1515,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 875 : /* fall through */ case 891 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH2E_INSN_NEG_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_NEG_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 780 : /* fall through */ case 796 : /* fall through */ case 812 : /* fall through */ @@ -1629,9 +1525,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 876 : /* fall through */ case 892 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH2E_INSN_EXTUB_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_EXTUB_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 781 : /* fall through */ case 797 : /* fall through */ case 813 : /* fall through */ @@ -1641,9 +1535,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 877 : /* fall through */ case 893 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH2E_INSN_EXTUW_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_EXTUW_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 782 : /* fall through */ case 798 : /* fall through */ case 814 : /* fall through */ @@ -1653,9 +1545,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 878 : /* fall through */ case 894 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH2E_INSN_EXTSB_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_EXTSB_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 783 : /* fall through */ case 799 : /* fall through */ case 815 : /* fall through */ @@ -1665,9 +1555,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 879 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH2E_INSN_EXTSW_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_EXTSW_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -1797,9 +1685,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 1022 : /* fall through */ case 1023 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH2E_INSN_ADDI_COMPACT; sh2e_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_ADDI_COMPACT; sh2e_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ @@ -1934,49 +1820,31 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH2E_INSN_MOVB5_COMPACT; sh2e_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVB5_COMPACT; sh2e_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH2E_INSN_MOVW5_COMPACT; sh2e_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW5_COMPACT; sh2e_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH2E_INSN_MOVB10_COMPACT; sh2e_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVB10_COMPACT; sh2e_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH2E_INSN_MOVW11_COMPACT; sh2e_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW11_COMPACT; sh2e_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH2E_INSN_CMPEQI_COMPACT; sh2e_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_CMPEQI_COMPACT; sh2e_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH2E_INSN_BT_COMPACT; sh2e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_BT_COMPACT; sh2e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH2E_INSN_BF_COMPACT; sh2e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_BF_COMPACT; sh2e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH2E_INSN_BTS_COMPACT; sh2e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_BTS_COMPACT; sh2e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH2E_INSN_BFS_COMPACT; sh2e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_BFS_COMPACT; sh2e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2109,9 +1977,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 1278 : /* fall through */ case 1279 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH2E_INSN_MOVW10_COMPACT; sh2e_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW10_COMPACT; sh2e_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ @@ -2241,9 +2107,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 1406 : /* fall through */ case 1407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH2E_INSN_BRA_COMPACT; sh2e_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_BRA_COMPACT; sh2e_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ @@ -2373,9 +2237,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 1534 : /* fall through */ case 1535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH2E_INSN_BSR_COMPACT; sh2e_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_BSR_COMPACT; sh2e_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ @@ -2510,84 +2372,52 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH2E_INSN_MOVB4_COMPACT; sh2e_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVB4_COMPACT; sh2e_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH2E_INSN_MOVW4_COMPACT; sh2e_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW4_COMPACT; sh2e_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH2E_INSN_MOVL4_COMPACT; sh2e_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL4_COMPACT; sh2e_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH2E_INSN_TRAPA_COMPACT; sh2e_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_TRAPA_COMPACT; sh2e_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH2E_INSN_MOVB9_COMPACT; sh2e_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVB9_COMPACT; sh2e_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH2E_INSN_MOVW9_COMPACT; sh2e_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVW9_COMPACT; sh2e_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH2E_INSN_MOVL9_COMPACT; sh2e_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL9_COMPACT; sh2e_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH2E_INSN_MOVA_COMPACT; sh2e_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVA_COMPACT; sh2e_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH2E_INSN_TSTI_COMPACT; sh2e_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_TSTI_COMPACT; sh2e_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH2E_INSN_ANDI_COMPACT; sh2e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_ANDI_COMPACT; sh2e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH2E_INSN_XORI_COMPACT; sh2e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_XORI_COMPACT; sh2e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH2E_INSN_ORI_COMPACT; sh2e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_ORI_COMPACT; sh2e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH2E_INSN_TSTB_COMPACT; sh2e_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_TSTB_COMPACT; sh2e_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH2E_INSN_ANDB_COMPACT; sh2e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_ANDB_COMPACT; sh2e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH2E_INSN_XORB_COMPACT; sh2e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_XORB_COMPACT; sh2e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH2E_INSN_ORB_COMPACT; sh2e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_ORB_COMPACT; sh2e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2720,9 +2550,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 1790 : /* fall through */ case 1791 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH2E_INSN_MOVL10_COMPACT; sh2e_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVL10_COMPACT; sh2e_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ @@ -2852,9 +2680,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 1918 : /* fall through */ case 1919 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH2E_INSN_MOVI_COMPACT; sh2e_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_MOVI_COMPACT; sh2e_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1920 : /* fall through */ case 1936 : /* fall through */ case 1952 : /* fall through */ @@ -2864,9 +2690,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2016 : /* fall through */ case 2032 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf000) - { itype = SH2E_INSN_FADD_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FADD_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1921 : /* fall through */ case 1937 : /* fall through */ case 1953 : /* fall through */ @@ -2876,9 +2700,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2017 : /* fall through */ case 2033 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf001) - { itype = SH2E_INSN_FSUB_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FSUB_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1922 : /* fall through */ case 1938 : /* fall through */ case 1954 : /* fall through */ @@ -2888,9 +2710,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2018 : /* fall through */ case 2034 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf002) - { itype = SH2E_INSN_FMUL_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FMUL_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1923 : /* fall through */ case 1939 : /* fall through */ case 1955 : /* fall through */ @@ -2900,9 +2720,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2019 : /* fall through */ case 2035 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf003) - { itype = SH2E_INSN_FDIV_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FDIV_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1924 : /* fall through */ case 1940 : /* fall through */ case 1956 : /* fall through */ @@ -2912,9 +2730,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2020 : /* fall through */ case 2036 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf004) - { itype = SH2E_INSN_FCMPEQ_COMPACT; sh2e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FCMPEQ_COMPACT; sh2e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1925 : /* fall through */ case 1941 : /* fall through */ case 1957 : /* fall through */ @@ -2924,9 +2740,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2021 : /* fall through */ case 2037 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf005) - { itype = SH2E_INSN_FCMPGT_COMPACT; sh2e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FCMPGT_COMPACT; sh2e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1926 : /* fall through */ case 1942 : /* fall through */ case 1958 : /* fall through */ @@ -2936,9 +2750,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2022 : /* fall through */ case 2038 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf006) - { itype = SH2E_INSN_FMOV4_COMPACT; sh2e_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FMOV4_COMPACT; sh2e_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1927 : /* fall through */ case 1943 : /* fall through */ case 1959 : /* fall through */ @@ -2948,9 +2760,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2023 : /* fall through */ case 2039 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf007) - { itype = SH2E_INSN_FMOV7_COMPACT; sh2e_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FMOV7_COMPACT; sh2e_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1928 : /* fall through */ case 1944 : /* fall through */ case 1960 : /* fall through */ @@ -2960,9 +2770,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2024 : /* fall through */ case 2040 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf008) - { itype = SH2E_INSN_FMOV2_COMPACT; sh2e_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FMOV2_COMPACT; sh2e_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1929 : /* fall through */ case 1945 : /* fall through */ case 1961 : /* fall through */ @@ -2972,9 +2780,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2025 : /* fall through */ case 2041 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf009) - { itype = SH2E_INSN_FMOV3_COMPACT; sh2e_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FMOV3_COMPACT; sh2e_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1930 : /* fall through */ case 1946 : /* fall through */ case 1962 : /* fall through */ @@ -2984,9 +2790,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2026 : /* fall through */ case 2042 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00a) - { itype = SH2E_INSN_FMOV5_COMPACT; sh2e_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FMOV5_COMPACT; sh2e_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1931 : /* fall through */ case 1947 : /* fall through */ case 1963 : /* fall through */ @@ -2996,9 +2800,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2027 : /* fall through */ case 2043 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00b) - { itype = SH2E_INSN_FMOV6_COMPACT; sh2e_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FMOV6_COMPACT; sh2e_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1932 : /* fall through */ case 1948 : /* fall through */ case 1964 : /* fall through */ @@ -3008,9 +2810,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2028 : /* fall through */ case 2044 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00c) - { itype = SH2E_INSN_FMOV1_COMPACT; sh2e_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FMOV1_COMPACT; sh2e_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1933 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3018,14 +2818,10 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf00d) - { itype = SH2E_INSN_FSTS_COMPACT; sh2e_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FSTS_COMPACT; sh2e_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf08d) - { itype = SH2E_INSN_FLDI0_COMPACT; sh2e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FLDI0_COMPACT; sh2e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3038,9 +2834,7 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, case 2030 : /* fall through */ case 2046 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00e) - { itype = SH2E_INSN_FMAC_COMPACT; sh2e_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FMAC_COMPACT; sh2e_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1949 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3048,14 +2842,10 @@ sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf01d) - { itype = SH2E_INSN_FLDS_COMPACT; sh2e_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FLDS_COMPACT; sh2e_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf09d) - { itype = SH2E_INSN_FLDI1_COMPACT; sh2e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH2E_INSN_FLDI1_COMPACT; sh2e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } diff --git a/sid/component/cgen-cpu/sh/sh2e-decode.h b/sid/component/cgen-cpu/sh/sh2e-decode.h index 1424253681..f13aa14d6d 100644 --- a/sid/component/cgen-cpu/sh/sh2e-decode.h +++ b/sid/component/cgen-cpu/sh/sh2e-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2e-defs.h b/sid/component/cgen-cpu/sh/sh2e-defs.h index e7bb3cfa00..035b15899c 100644 --- a/sid/component/cgen-cpu/sh/sh2e-defs.h +++ b/sid/component/cgen-cpu/sh/sh2e-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2e-model.cxx b/sid/component/cgen-cpu/sh/sh2e-model.cxx index 96087ced5a..d837e1d422 100644 --- a/sid/component/cgen-cpu/sh/sh2e-model.cxx +++ b/sid/component/cgen-cpu/sh/sh2e-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2e-model.h b/sid/component/cgen-cpu/sh/sh2e-model.h index 148bd7878c..c8fc2cb038 100644 --- a/sid/component/cgen-cpu/sh/sh2e-model.h +++ b/sid/component/cgen-cpu/sh/sh2e-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2e-sem.cxx b/sid/component/cgen-cpu/sh/sh2e-sem.cxx index 22ffbcaa23..294444866b 100644 --- a/sid/component/cgen-cpu/sh/sh2e-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh2e-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh2e-write.cxx b/sid/component/cgen-cpu/sh/sh2e-write.cxx index 7699b84e48..ee84ee3000 100644 --- a/sid/component/cgen-cpu/sh/sh2e-write.cxx +++ b/sid/component/cgen-cpu/sh/sh2e-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3-cpu.h b/sid/component/cgen-cpu/sh/sh3-cpu.h index c2723075d2..150fb6485a 100644 --- a/sid/component/cgen-cpu/sh/sh3-cpu.h +++ b/sid/component/cgen-cpu/sh/sh3-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -103,7 +103,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh3-decode.cxx b/sid/component/cgen-cpu/sh/sh3-decode.cxx index 2b0e41ba89..3f1e2688ab 100644 --- a/sid/component/cgen-cpu/sh/sh3-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh3-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -422,33 +422,25 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 36 : /* fall through */ case 52 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH3_INSN_MOVB3_COMPACT; sh3_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVB3_COMPACT; sh3_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ case 53 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH3_INSN_MOVW3_COMPACT; sh3_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW3_COMPACT; sh3_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ case 54 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH3_INSN_MOVL3_COMPACT; sh3_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL3_COMPACT; sh3_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ case 55 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH3_INSN_MULL_COMPACT; sh3_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MULL_COMPACT; sh3_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : { unsigned int val = (((insn >> 22) & (1 << 0))); @@ -487,33 +479,25 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 44 : /* fall through */ case 60 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH3_INSN_MOVB8_COMPACT; sh3_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVB8_COMPACT; sh3_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ case 61 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH3_INSN_MOVW8_COMPACT; sh3_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW8_COMPACT; sh3_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ case 62 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH3_INSN_MOVL8_COMPACT; sh3_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL8_COMPACT; sh3_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ case 63 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH3_INSN_MACL_COMPACT; sh3_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MACL_COMPACT; sh3_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -637,241 +621,181 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 126 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH3_INSN_MOVL5_COMPACT; sh3_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL5_COMPACT; sh3_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 128 : /* fall through */ case 144 : /* fall through */ case 160 : /* fall through */ case 176 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH3_INSN_MOVB1_COMPACT; sh3_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVB1_COMPACT; sh3_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 129 : /* fall through */ case 145 : /* fall through */ case 161 : /* fall through */ case 177 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH3_INSN_MOVW1_COMPACT; sh3_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW1_COMPACT; sh3_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 130 : /* fall through */ case 146 : /* fall through */ case 162 : /* fall through */ case 178 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH3_INSN_MOVL1_COMPACT; sh3_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL1_COMPACT; sh3_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 132 : /* fall through */ case 148 : /* fall through */ case 164 : /* fall through */ case 180 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH3_INSN_MOVB2_COMPACT; sh3_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVB2_COMPACT; sh3_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 133 : /* fall through */ case 149 : /* fall through */ case 165 : /* fall through */ case 181 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH3_INSN_MOVW2_COMPACT; sh3_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW2_COMPACT; sh3_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 134 : /* fall through */ case 150 : /* fall through */ case 166 : /* fall through */ case 182 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH3_INSN_MOVL2_COMPACT; sh3_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL2_COMPACT; sh3_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 135 : /* fall through */ case 151 : /* fall through */ case 167 : /* fall through */ case 183 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH3_INSN_DIV0S_COMPACT; sh3_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_DIV0S_COMPACT; sh3_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 136 : /* fall through */ case 152 : /* fall through */ case 168 : /* fall through */ case 184 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH3_INSN_TST_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_TST_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 137 : /* fall through */ case 153 : /* fall through */ case 169 : /* fall through */ case 185 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH3_INSN_AND_COMPACT; sh3_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_AND_COMPACT; sh3_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 138 : /* fall through */ case 154 : /* fall through */ case 170 : /* fall through */ case 186 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH3_INSN_XOR_COMPACT; sh3_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_XOR_COMPACT; sh3_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 139 : /* fall through */ case 155 : /* fall through */ case 171 : /* fall through */ case 187 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH3_INSN_OR_COMPACT; sh3_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_OR_COMPACT; sh3_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 140 : /* fall through */ case 156 : /* fall through */ case 172 : /* fall through */ case 188 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH3_INSN_CMPSTR_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_CMPSTR_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 141 : /* fall through */ case 157 : /* fall through */ case 173 : /* fall through */ case 189 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH3_INSN_XTRCT_COMPACT; sh3_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_XTRCT_COMPACT; sh3_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 142 : /* fall through */ case 158 : /* fall through */ case 174 : /* fall through */ case 190 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH3_INSN_MULUW_COMPACT; sh3_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MULUW_COMPACT; sh3_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 143 : /* fall through */ case 159 : /* fall through */ case 175 : /* fall through */ case 191 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH3_INSN_MULSW_COMPACT; sh3_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MULSW_COMPACT; sh3_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 192 : /* fall through */ case 208 : /* fall through */ case 224 : /* fall through */ case 240 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH3_INSN_CMPEQ_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_CMPEQ_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 194 : /* fall through */ case 210 : /* fall through */ case 226 : /* fall through */ case 242 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH3_INSN_CMPHS_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_CMPHS_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 195 : /* fall through */ case 211 : /* fall through */ case 227 : /* fall through */ case 243 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH3_INSN_CMPGE_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_CMPGE_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 196 : /* fall through */ case 212 : /* fall through */ case 228 : /* fall through */ case 244 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH3_INSN_DIV1_COMPACT; sh3_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_DIV1_COMPACT; sh3_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 197 : /* fall through */ case 213 : /* fall through */ case 229 : /* fall through */ case 245 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH3_INSN_DMULUL_COMPACT; sh3_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_DMULUL_COMPACT; sh3_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 198 : /* fall through */ case 214 : /* fall through */ case 230 : /* fall through */ case 246 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH3_INSN_CMPHI_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_CMPHI_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 199 : /* fall through */ case 215 : /* fall through */ case 231 : /* fall through */ case 247 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH3_INSN_CMPGT_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_CMPGT_COMPACT; sh3_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 200 : /* fall through */ case 216 : /* fall through */ case 232 : /* fall through */ case 248 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH3_INSN_SUB_COMPACT; sh3_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_SUB_COMPACT; sh3_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 202 : /* fall through */ case 218 : /* fall through */ case 234 : /* fall through */ case 250 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH3_INSN_SUBC_COMPACT; sh3_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_SUBC_COMPACT; sh3_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 203 : /* fall through */ case 219 : /* fall through */ case 235 : /* fall through */ case 251 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH3_INSN_SUBV_COMPACT; sh3_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_SUBV_COMPACT; sh3_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 204 : /* fall through */ case 220 : /* fall through */ case 236 : /* fall through */ case 252 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH3_INSN_ADD_COMPACT; sh3_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_ADD_COMPACT; sh3_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 205 : /* fall through */ case 221 : /* fall through */ case 237 : /* fall through */ case 253 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH3_INSN_DMULSL_COMPACT; sh3_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_DMULSL_COMPACT; sh3_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 206 : /* fall through */ case 222 : /* fall through */ case 238 : /* fall through */ case 254 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH3_INSN_ADDC_COMPACT; sh3_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_ADDC_COMPACT; sh3_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 207 : /* fall through */ case 223 : /* fall through */ case 239 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH3_INSN_ADDV_COMPACT; sh3_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_ADDV_COMPACT; sh3_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4000) @@ -927,17 +851,13 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 300 : /* fall through */ case 316 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400c) - { itype = SH3_INSN_SHAD_COMPACT; sh3_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_SHAD_COMPACT; sh3_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 269 : /* fall through */ case 285 : /* fall through */ case 301 : /* fall through */ case 317 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400d) - { itype = SH3_INSN_SHLD_COMPACT; sh3_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_SHLD_COMPACT; sh3_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x400e) @@ -948,9 +868,7 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 303 : /* fall through */ case 319 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH3_INSN_MACW_COMPACT; sh3_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MACW_COMPACT; sh3_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 272 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1141,137 +1059,103 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 382 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH3_INSN_MOVL11_COMPACT; sh3_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL11_COMPACT; sh3_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ case 432 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH3_INSN_MOVB6_COMPACT; sh3_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVB6_COMPACT; sh3_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 385 : /* fall through */ case 401 : /* fall through */ case 417 : /* fall through */ case 433 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH3_INSN_MOVW6_COMPACT; sh3_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW6_COMPACT; sh3_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ case 402 : /* fall through */ case 418 : /* fall through */ case 434 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH3_INSN_MOVL6_COMPACT; sh3_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL6_COMPACT; sh3_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ case 435 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH3_INSN_MOV_COMPACT; sh3_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOV_COMPACT; sh3_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ case 436 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH3_INSN_MOVB7_COMPACT; sh3_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVB7_COMPACT; sh3_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ case 437 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH3_INSN_MOVW7_COMPACT; sh3_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW7_COMPACT; sh3_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ case 438 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH3_INSN_MOVL7_COMPACT; sh3_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL7_COMPACT; sh3_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ case 439 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH3_INSN_NOT_COMPACT; sh3_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_NOT_COMPACT; sh3_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ case 440 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH3_INSN_SWAPB_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_SWAPB_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 393 : /* fall through */ case 409 : /* fall through */ case 425 : /* fall through */ case 441 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH3_INSN_SWAPW_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_SWAPW_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ case 442 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH3_INSN_NEGC_COMPACT; sh3_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_NEGC_COMPACT; sh3_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ case 443 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH3_INSN_NEG_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_NEG_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ case 444 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH3_INSN_EXTUB_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_EXTUB_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ case 445 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH3_INSN_EXTUW_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_EXTUW_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ case 446 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH3_INSN_EXTSB_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_EXTSB_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ case 447 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH3_INSN_EXTSW_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_EXTSW_COMPACT; sh3_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 448 : /* fall through */ case 449 : /* fall through */ case 450 : /* fall through */ @@ -1337,9 +1221,7 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 510 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH3_INSN_ADDI_COMPACT; sh3_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_ADDI_COMPACT; sh3_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : /* fall through */ case 513 : /* fall through */ case 514 : /* fall through */ @@ -1410,49 +1292,31 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH3_INSN_MOVB5_COMPACT; sh3_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVB5_COMPACT; sh3_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH3_INSN_MOVW5_COMPACT; sh3_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW5_COMPACT; sh3_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH3_INSN_MOVB10_COMPACT; sh3_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVB10_COMPACT; sh3_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH3_INSN_MOVW11_COMPACT; sh3_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW11_COMPACT; sh3_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH3_INSN_CMPEQI_COMPACT; sh3_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_CMPEQI_COMPACT; sh3_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH3_INSN_BT_COMPACT; sh3_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_BT_COMPACT; sh3_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH3_INSN_BF_COMPACT; sh3_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_BF_COMPACT; sh3_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH3_INSN_BTS_COMPACT; sh3_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_BTS_COMPACT; sh3_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH3_INSN_BFS_COMPACT; sh3_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_BFS_COMPACT; sh3_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1521,9 +1385,7 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 638 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH3_INSN_MOVW10_COMPACT; sh3_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW10_COMPACT; sh3_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 640 : /* fall through */ case 641 : /* fall through */ case 642 : /* fall through */ @@ -1589,9 +1451,7 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 702 : /* fall through */ case 703 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH3_INSN_BRA_COMPACT; sh3_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_BRA_COMPACT; sh3_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 704 : /* fall through */ case 705 : /* fall through */ case 706 : /* fall through */ @@ -1657,9 +1517,7 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH3_INSN_BSR_COMPACT; sh3_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_BSR_COMPACT; sh3_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 769 : /* fall through */ case 770 : /* fall through */ @@ -1730,84 +1588,52 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH3_INSN_MOVB4_COMPACT; sh3_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVB4_COMPACT; sh3_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH3_INSN_MOVW4_COMPACT; sh3_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW4_COMPACT; sh3_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH3_INSN_MOVL4_COMPACT; sh3_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL4_COMPACT; sh3_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH3_INSN_TRAPA_COMPACT; sh3_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_TRAPA_COMPACT; sh3_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH3_INSN_MOVB9_COMPACT; sh3_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVB9_COMPACT; sh3_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH3_INSN_MOVW9_COMPACT; sh3_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVW9_COMPACT; sh3_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH3_INSN_MOVL9_COMPACT; sh3_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL9_COMPACT; sh3_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH3_INSN_MOVA_COMPACT; sh3_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVA_COMPACT; sh3_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH3_INSN_TSTI_COMPACT; sh3_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_TSTI_COMPACT; sh3_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH3_INSN_ANDI_COMPACT; sh3_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_ANDI_COMPACT; sh3_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH3_INSN_XORI_COMPACT; sh3_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_XORI_COMPACT; sh3_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH3_INSN_ORI_COMPACT; sh3_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_ORI_COMPACT; sh3_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH3_INSN_TSTB_COMPACT; sh3_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_TSTB_COMPACT; sh3_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH3_INSN_ANDB_COMPACT; sh3_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_ANDB_COMPACT; sh3_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH3_INSN_XORB_COMPACT; sh3_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_XORB_COMPACT; sh3_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH3_INSN_ORB_COMPACT; sh3_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_ORB_COMPACT; sh3_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1876,9 +1702,7 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 894 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH3_INSN_MOVL10_COMPACT; sh3_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVL10_COMPACT; sh3_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -1944,9 +1768,7 @@ sh3_scache::decode (sh3_cpu* current_cpu, PCADDR pc, sh3_insn_word base_insn, sh case 958 : /* fall through */ case 959 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH3_INSN_MOVI_COMPACT; sh3_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3_INSN_X_INVALID; sh3_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3_INSN_MOVI_COMPACT; sh3_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1021 : { unsigned int val = (((insn >> 27) & (1 << 0))); diff --git a/sid/component/cgen-cpu/sh/sh3-decode.h b/sid/component/cgen-cpu/sh/sh3-decode.h index 3dd959908b..667e810eb9 100644 --- a/sid/component/cgen-cpu/sh/sh3-decode.h +++ b/sid/component/cgen-cpu/sh/sh3-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3-defs.h b/sid/component/cgen-cpu/sh/sh3-defs.h index 97c9b927eb..99210d8b00 100644 --- a/sid/component/cgen-cpu/sh/sh3-defs.h +++ b/sid/component/cgen-cpu/sh/sh3-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3-model.cxx b/sid/component/cgen-cpu/sh/sh3-model.cxx index 2a3d36f54e..3d36843621 100644 --- a/sid/component/cgen-cpu/sh/sh3-model.cxx +++ b/sid/component/cgen-cpu/sh/sh3-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3-model.h b/sid/component/cgen-cpu/sh/sh3-model.h index 78602f3192..9709476bba 100644 --- a/sid/component/cgen-cpu/sh/sh3-model.h +++ b/sid/component/cgen-cpu/sh/sh3-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3-sem.cxx b/sid/component/cgen-cpu/sh/sh3-sem.cxx index 6479290ef2..8e3687fb52 100644 --- a/sid/component/cgen-cpu/sh/sh3-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh3-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3-write.cxx b/sid/component/cgen-cpu/sh/sh3-write.cxx index 1a36adcfda..7a652cc021 100644 --- a/sid/component/cgen-cpu/sh/sh3-write.cxx +++ b/sid/component/cgen-cpu/sh/sh3-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3e-cpu.h b/sid/component/cgen-cpu/sh/sh3e-cpu.h index 8f8b99c500..18af88aed7 100644 --- a/sid/component/cgen-cpu/sh/sh3e-cpu.h +++ b/sid/component/cgen-cpu/sh/sh3e-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -115,7 +115,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh3e-decode.cxx b/sid/component/cgen-cpu/sh/sh3e-decode.cxx index 9d7a2c3652..aa6b002f6a 100644 --- a/sid/component/cgen-cpu/sh/sh3e-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh3e-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -485,14 +485,10 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x3) - { itype = SH3E_INSN_BSRF_COMPACT; sh3e_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_BSRF_COMPACT; sh3e_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x83) - { itype = SH3E_INSN_PREF_COMPACT; sh3e_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_PREF_COMPACT; sh3e_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -505,9 +501,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 100 : /* fall through */ case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH3E_INSN_MOVB3_COMPACT; sh3e_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVB3_COMPACT; sh3e_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ @@ -517,9 +511,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 101 : /* fall through */ case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH3E_INSN_MOVW3_COMPACT; sh3e_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW3_COMPACT; sh3e_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ @@ -529,9 +521,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 102 : /* fall through */ case 118 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH3E_INSN_MOVL3_COMPACT; sh3e_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL3_COMPACT; sh3e_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ @@ -541,9 +531,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 103 : /* fall through */ case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH3E_INSN_MULL_COMPACT; sh3e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MULL_COMPACT; sh3e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffff) == 0x8) @@ -573,9 +561,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 108 : /* fall through */ case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH3E_INSN_MOVB8_COMPACT; sh3e_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVB8_COMPACT; sh3e_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ @@ -585,9 +571,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 109 : /* fall through */ case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH3E_INSN_MOVW8_COMPACT; sh3e_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW8_COMPACT; sh3e_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ @@ -597,9 +581,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 110 : /* fall through */ case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH3E_INSN_MOVL8_COMPACT; sh3e_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL8_COMPACT; sh3e_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ @@ -609,9 +591,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 111 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH3E_INSN_MACL_COMPACT; sh3e_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MACL_COMPACT; sh3e_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -806,9 +786,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 254 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH3E_INSN_MOVL5_COMPACT; sh3e_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL5_COMPACT; sh3e_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : /* fall through */ case 272 : /* fall through */ case 288 : /* fall through */ @@ -818,9 +796,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 352 : /* fall through */ case 368 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH3E_INSN_MOVB1_COMPACT; sh3e_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVB1_COMPACT; sh3e_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 257 : /* fall through */ case 273 : /* fall through */ case 289 : /* fall through */ @@ -830,9 +806,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 353 : /* fall through */ case 369 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH3E_INSN_MOVW1_COMPACT; sh3e_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW1_COMPACT; sh3e_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 258 : /* fall through */ case 274 : /* fall through */ case 290 : /* fall through */ @@ -842,9 +816,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 354 : /* fall through */ case 370 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH3E_INSN_MOVL1_COMPACT; sh3e_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL1_COMPACT; sh3e_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 260 : /* fall through */ case 276 : /* fall through */ case 292 : /* fall through */ @@ -854,9 +826,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 356 : /* fall through */ case 372 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH3E_INSN_MOVB2_COMPACT; sh3e_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVB2_COMPACT; sh3e_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 261 : /* fall through */ case 277 : /* fall through */ case 293 : /* fall through */ @@ -866,9 +836,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 357 : /* fall through */ case 373 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH3E_INSN_MOVW2_COMPACT; sh3e_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW2_COMPACT; sh3e_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 262 : /* fall through */ case 278 : /* fall through */ case 294 : /* fall through */ @@ -878,9 +846,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 358 : /* fall through */ case 374 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH3E_INSN_MOVL2_COMPACT; sh3e_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL2_COMPACT; sh3e_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 263 : /* fall through */ case 279 : /* fall through */ case 295 : /* fall through */ @@ -890,9 +856,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 359 : /* fall through */ case 375 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH3E_INSN_DIV0S_COMPACT; sh3e_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_DIV0S_COMPACT; sh3e_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 280 : /* fall through */ case 296 : /* fall through */ @@ -902,9 +866,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 360 : /* fall through */ case 376 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH3E_INSN_TST_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_TST_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 265 : /* fall through */ case 281 : /* fall through */ case 297 : /* fall through */ @@ -914,9 +876,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 361 : /* fall through */ case 377 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH3E_INSN_AND_COMPACT; sh3e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_AND_COMPACT; sh3e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 266 : /* fall through */ case 282 : /* fall through */ case 298 : /* fall through */ @@ -926,9 +886,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 362 : /* fall through */ case 378 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH3E_INSN_XOR_COMPACT; sh3e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_XOR_COMPACT; sh3e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 267 : /* fall through */ case 283 : /* fall through */ case 299 : /* fall through */ @@ -938,9 +896,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 363 : /* fall through */ case 379 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH3E_INSN_OR_COMPACT; sh3e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_OR_COMPACT; sh3e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 268 : /* fall through */ case 284 : /* fall through */ case 300 : /* fall through */ @@ -950,9 +906,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 364 : /* fall through */ case 380 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH3E_INSN_CMPSTR_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_CMPSTR_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 269 : /* fall through */ case 285 : /* fall through */ case 301 : /* fall through */ @@ -962,9 +916,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 365 : /* fall through */ case 381 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH3E_INSN_XTRCT_COMPACT; sh3e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_XTRCT_COMPACT; sh3e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : /* fall through */ case 286 : /* fall through */ case 302 : /* fall through */ @@ -974,9 +926,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 366 : /* fall through */ case 382 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH3E_INSN_MULUW_COMPACT; sh3e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MULUW_COMPACT; sh3e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 271 : /* fall through */ case 287 : /* fall through */ case 303 : /* fall through */ @@ -986,9 +936,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 367 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH3E_INSN_MULSW_COMPACT; sh3e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MULSW_COMPACT; sh3e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ @@ -998,9 +946,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 480 : /* fall through */ case 496 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH3E_INSN_CMPEQ_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_CMPEQ_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ case 402 : /* fall through */ case 418 : /* fall through */ @@ -1010,9 +956,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 482 : /* fall through */ case 498 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH3E_INSN_CMPHS_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_CMPHS_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ @@ -1022,9 +966,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 483 : /* fall through */ case 499 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH3E_INSN_CMPGE_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_CMPGE_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ @@ -1034,9 +976,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 484 : /* fall through */ case 500 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH3E_INSN_DIV1_COMPACT; sh3e_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_DIV1_COMPACT; sh3e_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ @@ -1046,9 +986,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 485 : /* fall through */ case 501 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH3E_INSN_DMULUL_COMPACT; sh3e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_DMULUL_COMPACT; sh3e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ @@ -1058,9 +996,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 486 : /* fall through */ case 502 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH3E_INSN_CMPHI_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_CMPHI_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ @@ -1070,9 +1006,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 487 : /* fall through */ case 503 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH3E_INSN_CMPGT_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_CMPGT_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ @@ -1082,9 +1016,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 488 : /* fall through */ case 504 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH3E_INSN_SUB_COMPACT; sh3e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_SUB_COMPACT; sh3e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ @@ -1094,9 +1026,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 490 : /* fall through */ case 506 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH3E_INSN_SUBC_COMPACT; sh3e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_SUBC_COMPACT; sh3e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ @@ -1106,9 +1036,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 491 : /* fall through */ case 507 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH3E_INSN_SUBV_COMPACT; sh3e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_SUBV_COMPACT; sh3e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ @@ -1118,9 +1046,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 492 : /* fall through */ case 508 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH3E_INSN_ADD_COMPACT; sh3e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_ADD_COMPACT; sh3e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ @@ -1130,9 +1056,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 493 : /* fall through */ case 509 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH3E_INSN_DMULSL_COMPACT; sh3e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_DMULSL_COMPACT; sh3e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ @@ -1142,9 +1066,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 494 : /* fall through */ case 510 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH3E_INSN_ADDC_COMPACT; sh3e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_ADDC_COMPACT; sh3e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ @@ -1154,9 +1076,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 495 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH3E_INSN_ADDV_COMPACT; sh3e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_ADDV_COMPACT; sh3e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4000) @@ -1216,9 +1136,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 620 : /* fall through */ case 636 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400c) - { itype = SH3E_INSN_SHAD_COMPACT; sh3e_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_SHAD_COMPACT; sh3e_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 525 : /* fall through */ case 541 : /* fall through */ case 557 : /* fall through */ @@ -1228,9 +1146,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 621 : /* fall through */ case 637 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400d) - { itype = SH3E_INSN_SHLD_COMPACT; sh3e_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_SHLD_COMPACT; sh3e_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 526 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x400e) @@ -1245,9 +1161,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 623 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH3E_INSN_MACW_COMPACT; sh3e_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MACW_COMPACT; sh3e_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1532,9 +1446,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH3E_INSN_MOVL11_COMPACT; sh3e_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL11_COMPACT; sh3e_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 784 : /* fall through */ case 800 : /* fall through */ @@ -1544,9 +1456,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 864 : /* fall through */ case 880 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH3E_INSN_MOVB6_COMPACT; sh3e_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVB6_COMPACT; sh3e_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 785 : /* fall through */ case 801 : /* fall through */ @@ -1556,9 +1466,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 865 : /* fall through */ case 881 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH3E_INSN_MOVW6_COMPACT; sh3e_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW6_COMPACT; sh3e_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 770 : /* fall through */ case 786 : /* fall through */ case 802 : /* fall through */ @@ -1568,9 +1476,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 866 : /* fall through */ case 882 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH3E_INSN_MOVL6_COMPACT; sh3e_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL6_COMPACT; sh3e_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 771 : /* fall through */ case 787 : /* fall through */ case 803 : /* fall through */ @@ -1580,9 +1486,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 867 : /* fall through */ case 883 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH3E_INSN_MOV_COMPACT; sh3e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOV_COMPACT; sh3e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 772 : /* fall through */ case 788 : /* fall through */ case 804 : /* fall through */ @@ -1592,9 +1496,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 868 : /* fall through */ case 884 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH3E_INSN_MOVB7_COMPACT; sh3e_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVB7_COMPACT; sh3e_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 773 : /* fall through */ case 789 : /* fall through */ case 805 : /* fall through */ @@ -1604,9 +1506,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 869 : /* fall through */ case 885 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH3E_INSN_MOVW7_COMPACT; sh3e_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW7_COMPACT; sh3e_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 774 : /* fall through */ case 790 : /* fall through */ case 806 : /* fall through */ @@ -1616,9 +1516,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 870 : /* fall through */ case 886 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH3E_INSN_MOVL7_COMPACT; sh3e_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL7_COMPACT; sh3e_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 775 : /* fall through */ case 791 : /* fall through */ case 807 : /* fall through */ @@ -1628,9 +1526,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 871 : /* fall through */ case 887 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH3E_INSN_NOT_COMPACT; sh3e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_NOT_COMPACT; sh3e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 776 : /* fall through */ case 792 : /* fall through */ case 808 : /* fall through */ @@ -1640,9 +1536,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 872 : /* fall through */ case 888 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH3E_INSN_SWAPB_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_SWAPB_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 777 : /* fall through */ case 793 : /* fall through */ case 809 : /* fall through */ @@ -1652,9 +1546,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 873 : /* fall through */ case 889 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH3E_INSN_SWAPW_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_SWAPW_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 778 : /* fall through */ case 794 : /* fall through */ case 810 : /* fall through */ @@ -1664,9 +1556,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 874 : /* fall through */ case 890 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH3E_INSN_NEGC_COMPACT; sh3e_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_NEGC_COMPACT; sh3e_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 779 : /* fall through */ case 795 : /* fall through */ case 811 : /* fall through */ @@ -1676,9 +1566,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 875 : /* fall through */ case 891 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH3E_INSN_NEG_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_NEG_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 780 : /* fall through */ case 796 : /* fall through */ case 812 : /* fall through */ @@ -1688,9 +1576,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 876 : /* fall through */ case 892 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH3E_INSN_EXTUB_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_EXTUB_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 781 : /* fall through */ case 797 : /* fall through */ case 813 : /* fall through */ @@ -1700,9 +1586,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 877 : /* fall through */ case 893 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH3E_INSN_EXTUW_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_EXTUW_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 782 : /* fall through */ case 798 : /* fall through */ case 814 : /* fall through */ @@ -1712,9 +1596,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 878 : /* fall through */ case 894 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH3E_INSN_EXTSB_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_EXTSB_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 783 : /* fall through */ case 799 : /* fall through */ case 815 : /* fall through */ @@ -1724,9 +1606,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 879 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH3E_INSN_EXTSW_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_EXTSW_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -1856,9 +1736,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 1022 : /* fall through */ case 1023 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH3E_INSN_ADDI_COMPACT; sh3e_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_ADDI_COMPACT; sh3e_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ @@ -1993,49 +1871,31 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH3E_INSN_MOVB5_COMPACT; sh3e_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVB5_COMPACT; sh3e_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH3E_INSN_MOVW5_COMPACT; sh3e_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW5_COMPACT; sh3e_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH3E_INSN_MOVB10_COMPACT; sh3e_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVB10_COMPACT; sh3e_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH3E_INSN_MOVW11_COMPACT; sh3e_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW11_COMPACT; sh3e_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH3E_INSN_CMPEQI_COMPACT; sh3e_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_CMPEQI_COMPACT; sh3e_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH3E_INSN_BT_COMPACT; sh3e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_BT_COMPACT; sh3e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH3E_INSN_BF_COMPACT; sh3e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_BF_COMPACT; sh3e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH3E_INSN_BTS_COMPACT; sh3e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_BTS_COMPACT; sh3e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH3E_INSN_BFS_COMPACT; sh3e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_BFS_COMPACT; sh3e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2168,9 +2028,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 1278 : /* fall through */ case 1279 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH3E_INSN_MOVW10_COMPACT; sh3e_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW10_COMPACT; sh3e_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ @@ -2300,9 +2158,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 1406 : /* fall through */ case 1407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH3E_INSN_BRA_COMPACT; sh3e_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_BRA_COMPACT; sh3e_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ @@ -2432,9 +2288,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 1534 : /* fall through */ case 1535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH3E_INSN_BSR_COMPACT; sh3e_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_BSR_COMPACT; sh3e_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ @@ -2569,84 +2423,52 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH3E_INSN_MOVB4_COMPACT; sh3e_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVB4_COMPACT; sh3e_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH3E_INSN_MOVW4_COMPACT; sh3e_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW4_COMPACT; sh3e_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH3E_INSN_MOVL4_COMPACT; sh3e_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL4_COMPACT; sh3e_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH3E_INSN_TRAPA_COMPACT; sh3e_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_TRAPA_COMPACT; sh3e_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH3E_INSN_MOVB9_COMPACT; sh3e_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVB9_COMPACT; sh3e_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH3E_INSN_MOVW9_COMPACT; sh3e_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVW9_COMPACT; sh3e_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH3E_INSN_MOVL9_COMPACT; sh3e_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL9_COMPACT; sh3e_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH3E_INSN_MOVA_COMPACT; sh3e_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVA_COMPACT; sh3e_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH3E_INSN_TSTI_COMPACT; sh3e_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_TSTI_COMPACT; sh3e_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH3E_INSN_ANDI_COMPACT; sh3e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_ANDI_COMPACT; sh3e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH3E_INSN_XORI_COMPACT; sh3e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_XORI_COMPACT; sh3e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH3E_INSN_ORI_COMPACT; sh3e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_ORI_COMPACT; sh3e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH3E_INSN_TSTB_COMPACT; sh3e_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_TSTB_COMPACT; sh3e_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH3E_INSN_ANDB_COMPACT; sh3e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_ANDB_COMPACT; sh3e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH3E_INSN_XORB_COMPACT; sh3e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_XORB_COMPACT; sh3e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH3E_INSN_ORB_COMPACT; sh3e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_ORB_COMPACT; sh3e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2779,9 +2601,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 1790 : /* fall through */ case 1791 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH3E_INSN_MOVL10_COMPACT; sh3e_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVL10_COMPACT; sh3e_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ @@ -2911,9 +2731,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 1918 : /* fall through */ case 1919 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH3E_INSN_MOVI_COMPACT; sh3e_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_MOVI_COMPACT; sh3e_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1920 : /* fall through */ case 1936 : /* fall through */ case 1952 : /* fall through */ @@ -2923,9 +2741,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2016 : /* fall through */ case 2032 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf000) - { itype = SH3E_INSN_FADD_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FADD_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1921 : /* fall through */ case 1937 : /* fall through */ case 1953 : /* fall through */ @@ -2935,9 +2751,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2017 : /* fall through */ case 2033 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf001) - { itype = SH3E_INSN_FSUB_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FSUB_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1922 : /* fall through */ case 1938 : /* fall through */ case 1954 : /* fall through */ @@ -2947,9 +2761,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2018 : /* fall through */ case 2034 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf002) - { itype = SH3E_INSN_FMUL_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FMUL_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1923 : /* fall through */ case 1939 : /* fall through */ case 1955 : /* fall through */ @@ -2959,9 +2771,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2019 : /* fall through */ case 2035 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf003) - { itype = SH3E_INSN_FDIV_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FDIV_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1924 : /* fall through */ case 1940 : /* fall through */ case 1956 : /* fall through */ @@ -2971,9 +2781,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2020 : /* fall through */ case 2036 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf004) - { itype = SH3E_INSN_FCMPEQ_COMPACT; sh3e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FCMPEQ_COMPACT; sh3e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1925 : /* fall through */ case 1941 : /* fall through */ case 1957 : /* fall through */ @@ -2983,9 +2791,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2021 : /* fall through */ case 2037 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf005) - { itype = SH3E_INSN_FCMPGT_COMPACT; sh3e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FCMPGT_COMPACT; sh3e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1926 : /* fall through */ case 1942 : /* fall through */ case 1958 : /* fall through */ @@ -2995,9 +2801,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2022 : /* fall through */ case 2038 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf006) - { itype = SH3E_INSN_FMOV4_COMPACT; sh3e_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FMOV4_COMPACT; sh3e_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1927 : /* fall through */ case 1943 : /* fall through */ case 1959 : /* fall through */ @@ -3007,9 +2811,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2023 : /* fall through */ case 2039 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf007) - { itype = SH3E_INSN_FMOV7_COMPACT; sh3e_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FMOV7_COMPACT; sh3e_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1928 : /* fall through */ case 1944 : /* fall through */ case 1960 : /* fall through */ @@ -3019,9 +2821,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2024 : /* fall through */ case 2040 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf008) - { itype = SH3E_INSN_FMOV2_COMPACT; sh3e_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FMOV2_COMPACT; sh3e_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1929 : /* fall through */ case 1945 : /* fall through */ case 1961 : /* fall through */ @@ -3031,9 +2831,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2025 : /* fall through */ case 2041 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf009) - { itype = SH3E_INSN_FMOV3_COMPACT; sh3e_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FMOV3_COMPACT; sh3e_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1930 : /* fall through */ case 1946 : /* fall through */ case 1962 : /* fall through */ @@ -3043,9 +2841,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2026 : /* fall through */ case 2042 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00a) - { itype = SH3E_INSN_FMOV5_COMPACT; sh3e_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FMOV5_COMPACT; sh3e_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1931 : /* fall through */ case 1947 : /* fall through */ case 1963 : /* fall through */ @@ -3055,9 +2851,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2027 : /* fall through */ case 2043 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00b) - { itype = SH3E_INSN_FMOV6_COMPACT; sh3e_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FMOV6_COMPACT; sh3e_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1932 : /* fall through */ case 1948 : /* fall through */ case 1964 : /* fall through */ @@ -3067,9 +2861,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2028 : /* fall through */ case 2044 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00c) - { itype = SH3E_INSN_FMOV1_COMPACT; sh3e_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FMOV1_COMPACT; sh3e_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1933 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3077,14 +2869,10 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf00d) - { itype = SH3E_INSN_FSTS_COMPACT; sh3e_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FSTS_COMPACT; sh3e_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf08d) - { itype = SH3E_INSN_FLDI0_COMPACT; sh3e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FLDI0_COMPACT; sh3e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3097,9 +2885,7 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, case 2030 : /* fall through */ case 2046 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00e) - { itype = SH3E_INSN_FMAC_COMPACT; sh3e_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FMAC_COMPACT; sh3e_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1949 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3107,14 +2893,10 @@ sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf01d) - { itype = SH3E_INSN_FLDS_COMPACT; sh3e_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FLDS_COMPACT; sh3e_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf09d) - { itype = SH3E_INSN_FLDI1_COMPACT; sh3e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH3E_INSN_FLDI1_COMPACT; sh3e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } diff --git a/sid/component/cgen-cpu/sh/sh3e-decode.h b/sid/component/cgen-cpu/sh/sh3e-decode.h index cbe5609979..28a6153c62 100644 --- a/sid/component/cgen-cpu/sh/sh3e-decode.h +++ b/sid/component/cgen-cpu/sh/sh3e-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3e-defs.h b/sid/component/cgen-cpu/sh/sh3e-defs.h index 0efa06ee80..e84babfa2a 100644 --- a/sid/component/cgen-cpu/sh/sh3e-defs.h +++ b/sid/component/cgen-cpu/sh/sh3e-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3e-model.cxx b/sid/component/cgen-cpu/sh/sh3e-model.cxx index dd3dd837b8..9b084fa1a1 100644 --- a/sid/component/cgen-cpu/sh/sh3e-model.cxx +++ b/sid/component/cgen-cpu/sh/sh3e-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3e-model.h b/sid/component/cgen-cpu/sh/sh3e-model.h index e56fae4a10..4d1045d625 100644 --- a/sid/component/cgen-cpu/sh/sh3e-model.h +++ b/sid/component/cgen-cpu/sh/sh3e-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3e-sem.cxx b/sid/component/cgen-cpu/sh/sh3e-sem.cxx index b8cee8619c..e7b4ce808d 100644 --- a/sid/component/cgen-cpu/sh/sh3e-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh3e-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh3e-write.cxx b/sid/component/cgen-cpu/sh/sh3e-write.cxx index 5bae6c4476..873b31095e 100644 --- a/sid/component/cgen-cpu/sh/sh3e-write.cxx +++ b/sid/component/cgen-cpu/sh/sh3e-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-cpu.h b/sid/component/cgen-cpu/sh/sh4-cpu.h index 0397fe3e16..45c31ca3be 100644 --- a/sid/component/cgen-cpu/sh/sh4-cpu.h +++ b/sid/component/cgen-cpu/sh/sh4-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -115,7 +115,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh4-decode.cxx b/sid/component/cgen-cpu/sh/sh4-decode.cxx index bf3a9656d9..94948cbab6 100644 --- a/sid/component/cgen-cpu/sh/sh4-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh4-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -522,10 +522,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 64 : /* fall through */ case 80 : /* fall through */ case 96 : /* fall through */ - case 112 : - if ((entire_insn & 0xf00f0000) == 0x0) - { itype = SH4_INSN_MOVI20_COMPACT; sh4_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 112 : itype = SH4_INSN_MOVI20_COMPACT; sh4_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -533,14 +530,10 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x3) - { itype = SH4_INSN_BSRF_COMPACT; sh4_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_BSRF_COMPACT; sh4_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x83) - { itype = SH4_INSN_PREF_COMPACT; sh4_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_PREF_COMPACT; sh4_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -553,9 +546,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 100 : /* fall through */ case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH4_INSN_MOVB3_COMPACT; sh4_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVB3_COMPACT; sh4_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ @@ -565,9 +556,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 101 : /* fall through */ case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH4_INSN_MOVW3_COMPACT; sh4_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW3_COMPACT; sh4_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ @@ -577,9 +566,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 102 : /* fall through */ case 118 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH4_INSN_MOVL3_COMPACT; sh4_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL3_COMPACT; sh4_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ @@ -589,9 +576,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 103 : /* fall through */ case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH4_INSN_MULL_COMPACT; sh4_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MULL_COMPACT; sh4_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffff) == 0x8) @@ -621,9 +606,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 108 : /* fall through */ case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH4_INSN_MOVB8_COMPACT; sh4_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVB8_COMPACT; sh4_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ @@ -633,9 +616,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 109 : /* fall through */ case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH4_INSN_MOVW8_COMPACT; sh4_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW8_COMPACT; sh4_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ @@ -645,9 +626,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 110 : /* fall through */ case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH4_INSN_MOVL8_COMPACT; sh4_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL8_COMPACT; sh4_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ @@ -657,9 +636,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 111 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH4_INSN_MACL_COMPACT; sh4_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MACL_COMPACT; sh4_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -697,14 +674,10 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x23) - { itype = SH4_INSN_BRAF_COMPACT; sh4_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_BRAF_COMPACT; sh4_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xa3) - { itype = SH4_INSN_OCBP_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_OCBP_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -882,9 +855,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 254 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH4_INSN_MOVL5_COMPACT; sh4_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL5_COMPACT; sh4_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : /* fall through */ case 272 : /* fall through */ case 288 : /* fall through */ @@ -894,9 +865,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 352 : /* fall through */ case 368 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH4_INSN_MOVB1_COMPACT; sh4_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVB1_COMPACT; sh4_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 257 : /* fall through */ case 273 : /* fall through */ case 289 : /* fall through */ @@ -906,9 +875,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 353 : /* fall through */ case 369 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH4_INSN_MOVW1_COMPACT; sh4_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW1_COMPACT; sh4_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 258 : /* fall through */ case 274 : /* fall through */ case 290 : /* fall through */ @@ -918,9 +885,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 354 : /* fall through */ case 370 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH4_INSN_MOVL1_COMPACT; sh4_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL1_COMPACT; sh4_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 260 : /* fall through */ case 276 : /* fall through */ case 292 : /* fall through */ @@ -930,9 +895,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 356 : /* fall through */ case 372 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH4_INSN_MOVB2_COMPACT; sh4_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVB2_COMPACT; sh4_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 261 : /* fall through */ case 277 : /* fall through */ case 293 : /* fall through */ @@ -942,9 +905,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 357 : /* fall through */ case 373 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH4_INSN_MOVW2_COMPACT; sh4_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW2_COMPACT; sh4_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 262 : /* fall through */ case 278 : /* fall through */ case 294 : /* fall through */ @@ -954,9 +915,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 358 : /* fall through */ case 374 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH4_INSN_MOVL2_COMPACT; sh4_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL2_COMPACT; sh4_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 263 : /* fall through */ case 279 : /* fall through */ case 295 : /* fall through */ @@ -966,9 +925,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 359 : /* fall through */ case 375 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH4_INSN_DIV0S_COMPACT; sh4_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_DIV0S_COMPACT; sh4_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 280 : /* fall through */ case 296 : /* fall through */ @@ -978,9 +935,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 360 : /* fall through */ case 376 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH4_INSN_TST_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_TST_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 265 : /* fall through */ case 281 : /* fall through */ case 297 : /* fall through */ @@ -990,9 +945,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 361 : /* fall through */ case 377 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH4_INSN_AND_COMPACT; sh4_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_AND_COMPACT; sh4_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 266 : /* fall through */ case 282 : /* fall through */ case 298 : /* fall through */ @@ -1002,9 +955,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 362 : /* fall through */ case 378 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH4_INSN_XOR_COMPACT; sh4_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_XOR_COMPACT; sh4_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 267 : /* fall through */ case 283 : /* fall through */ case 299 : /* fall through */ @@ -1014,9 +965,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 363 : /* fall through */ case 379 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH4_INSN_OR_COMPACT; sh4_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_OR_COMPACT; sh4_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 268 : /* fall through */ case 284 : /* fall through */ case 300 : /* fall through */ @@ -1026,9 +975,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 364 : /* fall through */ case 380 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH4_INSN_CMPSTR_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_CMPSTR_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 269 : /* fall through */ case 285 : /* fall through */ case 301 : /* fall through */ @@ -1038,9 +985,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 365 : /* fall through */ case 381 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH4_INSN_XTRCT_COMPACT; sh4_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_XTRCT_COMPACT; sh4_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : /* fall through */ case 286 : /* fall through */ case 302 : /* fall through */ @@ -1050,9 +995,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 366 : /* fall through */ case 382 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH4_INSN_MULUW_COMPACT; sh4_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MULUW_COMPACT; sh4_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 271 : /* fall through */ case 287 : /* fall through */ case 303 : /* fall through */ @@ -1062,9 +1005,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 367 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH4_INSN_MULSW_COMPACT; sh4_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MULSW_COMPACT; sh4_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ @@ -1074,9 +1015,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 480 : /* fall through */ case 496 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH4_INSN_CMPEQ_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_CMPEQ_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 385 : /* fall through */ case 417 : /* fall through */ case 449 : /* fall through */ @@ -1113,9 +1052,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 482 : /* fall through */ case 498 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH4_INSN_CMPHS_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_CMPHS_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ @@ -1125,9 +1062,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 483 : /* fall through */ case 499 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH4_INSN_CMPGE_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_CMPGE_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ @@ -1137,9 +1072,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 484 : /* fall through */ case 500 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH4_INSN_DIV1_COMPACT; sh4_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_DIV1_COMPACT; sh4_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ @@ -1149,9 +1082,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 485 : /* fall through */ case 501 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH4_INSN_DMULUL_COMPACT; sh4_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_DMULUL_COMPACT; sh4_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ @@ -1161,9 +1092,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 486 : /* fall through */ case 502 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH4_INSN_CMPHI_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_CMPHI_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ @@ -1173,9 +1102,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 487 : /* fall through */ case 503 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH4_INSN_CMPGT_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_CMPGT_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ @@ -1185,9 +1112,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 488 : /* fall through */ case 504 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH4_INSN_SUB_COMPACT; sh4_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_SUB_COMPACT; sh4_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ @@ -1197,9 +1122,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 490 : /* fall through */ case 506 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH4_INSN_SUBC_COMPACT; sh4_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_SUBC_COMPACT; sh4_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ @@ -1209,9 +1132,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 491 : /* fall through */ case 507 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH4_INSN_SUBV_COMPACT; sh4_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_SUBV_COMPACT; sh4_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ @@ -1221,9 +1142,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 492 : /* fall through */ case 508 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH4_INSN_ADD_COMPACT; sh4_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_ADD_COMPACT; sh4_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ @@ -1233,9 +1152,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 493 : /* fall through */ case 509 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH4_INSN_DMULSL_COMPACT; sh4_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_DMULSL_COMPACT; sh4_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ @@ -1245,9 +1162,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 494 : /* fall through */ case 510 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH4_INSN_ADDC_COMPACT; sh4_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_ADDC_COMPACT; sh4_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ @@ -1257,9 +1172,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 495 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH4_INSN_ADDV_COMPACT; sh4_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_ADDV_COMPACT; sh4_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 401 : /* fall through */ case 433 : /* fall through */ case 465 : /* fall through */ @@ -1290,14 +1203,10 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4000) - { itype = SH4_INSN_SHLL_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_SHLL_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4080) - { itype = SH4_INSN_MULR_COMPACT; sh4_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MULR_COMPACT; sh4_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1318,14 +1227,10 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4004) - { itype = SH4_INSN_ROTL_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_ROTL_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4084) - { itype = SH4_INSN_DIVU_COMPACT; sh4_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_DIVU_COMPACT; sh4_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1368,9 +1273,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 620 : /* fall through */ case 636 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400c) - { itype = SH4_INSN_SHAD_COMPACT; sh4_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_SHAD_COMPACT; sh4_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 525 : /* fall through */ case 541 : /* fall through */ case 557 : /* fall through */ @@ -1380,9 +1283,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 621 : /* fall through */ case 637 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400d) - { itype = SH4_INSN_SHLD_COMPACT; sh4_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_SHLD_COMPACT; sh4_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 526 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x400e) @@ -1397,9 +1298,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 623 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH4_INSN_MACW_COMPACT; sh4_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MACW_COMPACT; sh4_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1684,9 +1583,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH4_INSN_MOVL11_COMPACT; sh4_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL11_COMPACT; sh4_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 784 : /* fall through */ case 800 : /* fall through */ @@ -1696,9 +1593,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 864 : /* fall through */ case 880 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH4_INSN_MOVB6_COMPACT; sh4_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVB6_COMPACT; sh4_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 785 : /* fall through */ case 801 : /* fall through */ @@ -1708,9 +1603,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 865 : /* fall through */ case 881 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH4_INSN_MOVW6_COMPACT; sh4_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW6_COMPACT; sh4_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 770 : /* fall through */ case 786 : /* fall through */ case 802 : /* fall through */ @@ -1720,9 +1613,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 866 : /* fall through */ case 882 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH4_INSN_MOVL6_COMPACT; sh4_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL6_COMPACT; sh4_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 771 : /* fall through */ case 787 : /* fall through */ case 803 : /* fall through */ @@ -1732,9 +1623,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 867 : /* fall through */ case 883 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH4_INSN_MOV_COMPACT; sh4_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOV_COMPACT; sh4_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 772 : /* fall through */ case 788 : /* fall through */ case 804 : /* fall through */ @@ -1744,9 +1633,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 868 : /* fall through */ case 884 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH4_INSN_MOVB7_COMPACT; sh4_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVB7_COMPACT; sh4_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 773 : /* fall through */ case 789 : /* fall through */ case 805 : /* fall through */ @@ -1756,9 +1643,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 869 : /* fall through */ case 885 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH4_INSN_MOVW7_COMPACT; sh4_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW7_COMPACT; sh4_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 774 : /* fall through */ case 790 : /* fall through */ case 806 : /* fall through */ @@ -1768,9 +1653,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 870 : /* fall through */ case 886 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH4_INSN_MOVL7_COMPACT; sh4_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL7_COMPACT; sh4_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 775 : /* fall through */ case 791 : /* fall through */ case 807 : /* fall through */ @@ -1780,9 +1663,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 871 : /* fall through */ case 887 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH4_INSN_NOT_COMPACT; sh4_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_NOT_COMPACT; sh4_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 776 : /* fall through */ case 792 : /* fall through */ case 808 : /* fall through */ @@ -1792,9 +1673,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 872 : /* fall through */ case 888 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH4_INSN_SWAPB_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_SWAPB_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 777 : /* fall through */ case 793 : /* fall through */ case 809 : /* fall through */ @@ -1804,9 +1683,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 873 : /* fall through */ case 889 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH4_INSN_SWAPW_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_SWAPW_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 778 : /* fall through */ case 794 : /* fall through */ case 810 : /* fall through */ @@ -1816,9 +1693,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 874 : /* fall through */ case 890 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH4_INSN_NEGC_COMPACT; sh4_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_NEGC_COMPACT; sh4_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 779 : /* fall through */ case 795 : /* fall through */ case 811 : /* fall through */ @@ -1828,9 +1703,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 875 : /* fall through */ case 891 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH4_INSN_NEG_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_NEG_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 780 : /* fall through */ case 796 : /* fall through */ case 812 : /* fall through */ @@ -1840,9 +1713,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 876 : /* fall through */ case 892 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH4_INSN_EXTUB_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_EXTUB_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 781 : /* fall through */ case 797 : /* fall through */ case 813 : /* fall through */ @@ -1852,9 +1723,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 877 : /* fall through */ case 893 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH4_INSN_EXTUW_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_EXTUW_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 782 : /* fall through */ case 798 : /* fall through */ case 814 : /* fall through */ @@ -1864,9 +1733,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 878 : /* fall through */ case 894 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH4_INSN_EXTSB_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_EXTSB_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 783 : /* fall through */ case 799 : /* fall through */ case 815 : /* fall through */ @@ -1876,9 +1743,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 879 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH4_INSN_EXTSW_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_EXTSW_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -2008,9 +1873,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 1022 : /* fall through */ case 1023 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH4_INSN_ADDI_COMPACT; sh4_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_ADDI_COMPACT; sh4_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ @@ -2145,49 +2008,31 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH4_INSN_MOVB5_COMPACT; sh4_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVB5_COMPACT; sh4_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH4_INSN_MOVW5_COMPACT; sh4_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW5_COMPACT; sh4_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH4_INSN_MOVB10_COMPACT; sh4_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVB10_COMPACT; sh4_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH4_INSN_MOVW11_COMPACT; sh4_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW11_COMPACT; sh4_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH4_INSN_CMPEQI_COMPACT; sh4_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_CMPEQI_COMPACT; sh4_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH4_INSN_BT_COMPACT; sh4_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_BT_COMPACT; sh4_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH4_INSN_BF_COMPACT; sh4_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_BF_COMPACT; sh4_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH4_INSN_BTS_COMPACT; sh4_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_BTS_COMPACT; sh4_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH4_INSN_BFS_COMPACT; sh4_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_BFS_COMPACT; sh4_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2320,9 +2165,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 1278 : /* fall through */ case 1279 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH4_INSN_MOVW10_COMPACT; sh4_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW10_COMPACT; sh4_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ @@ -2452,9 +2295,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 1406 : /* fall through */ case 1407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH4_INSN_BRA_COMPACT; sh4_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_BRA_COMPACT; sh4_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ @@ -2584,9 +2425,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 1534 : /* fall through */ case 1535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH4_INSN_BSR_COMPACT; sh4_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_BSR_COMPACT; sh4_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ @@ -2721,84 +2560,52 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH4_INSN_MOVB4_COMPACT; sh4_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVB4_COMPACT; sh4_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH4_INSN_MOVW4_COMPACT; sh4_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW4_COMPACT; sh4_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH4_INSN_MOVL4_COMPACT; sh4_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL4_COMPACT; sh4_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH4_INSN_TRAPA_COMPACT; sh4_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_TRAPA_COMPACT; sh4_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH4_INSN_MOVB9_COMPACT; sh4_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVB9_COMPACT; sh4_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH4_INSN_MOVW9_COMPACT; sh4_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVW9_COMPACT; sh4_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH4_INSN_MOVL9_COMPACT; sh4_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL9_COMPACT; sh4_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH4_INSN_MOVA_COMPACT; sh4_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVA_COMPACT; sh4_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH4_INSN_TSTI_COMPACT; sh4_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_TSTI_COMPACT; sh4_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH4_INSN_ANDI_COMPACT; sh4_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_ANDI_COMPACT; sh4_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH4_INSN_XORI_COMPACT; sh4_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_XORI_COMPACT; sh4_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH4_INSN_ORI_COMPACT; sh4_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_ORI_COMPACT; sh4_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH4_INSN_TSTB_COMPACT; sh4_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_TSTB_COMPACT; sh4_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH4_INSN_ANDB_COMPACT; sh4_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_ANDB_COMPACT; sh4_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH4_INSN_XORB_COMPACT; sh4_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_XORB_COMPACT; sh4_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH4_INSN_ORB_COMPACT; sh4_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_ORB_COMPACT; sh4_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2931,9 +2738,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 1790 : /* fall through */ case 1791 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH4_INSN_MOVL10_COMPACT; sh4_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVL10_COMPACT; sh4_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ @@ -3063,9 +2868,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 1918 : /* fall through */ case 1919 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH4_INSN_MOVI_COMPACT; sh4_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_MOVI_COMPACT; sh4_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1920 : /* fall through */ case 1936 : /* fall through */ case 1952 : /* fall through */ @@ -3075,9 +2878,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2016 : /* fall through */ case 2032 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf000) - { itype = SH4_INSN_FADD_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FADD_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1921 : /* fall through */ case 1937 : /* fall through */ case 1953 : /* fall through */ @@ -3087,9 +2888,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2017 : /* fall through */ case 2033 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf001) - { itype = SH4_INSN_FSUB_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FSUB_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1922 : /* fall through */ case 1938 : /* fall through */ case 1954 : /* fall through */ @@ -3099,9 +2898,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2018 : /* fall through */ case 2034 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf002) - { itype = SH4_INSN_FMUL_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FMUL_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1923 : /* fall through */ case 1939 : /* fall through */ case 1955 : /* fall through */ @@ -3111,9 +2908,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2019 : /* fall through */ case 2035 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf003) - { itype = SH4_INSN_FDIV_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FDIV_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1924 : /* fall through */ case 1940 : /* fall through */ case 1956 : /* fall through */ @@ -3123,9 +2918,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2020 : /* fall through */ case 2036 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf004) - { itype = SH4_INSN_FCMPEQ_COMPACT; sh4_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FCMPEQ_COMPACT; sh4_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1925 : /* fall through */ case 1941 : /* fall through */ case 1957 : /* fall through */ @@ -3135,9 +2928,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2021 : /* fall through */ case 2037 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf005) - { itype = SH4_INSN_FCMPGT_COMPACT; sh4_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FCMPGT_COMPACT; sh4_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1926 : /* fall through */ case 1942 : /* fall through */ case 1958 : /* fall through */ @@ -3147,9 +2938,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2022 : /* fall through */ case 2038 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf006) - { itype = SH4_INSN_FMOV4_COMPACT; sh4_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FMOV4_COMPACT; sh4_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1927 : /* fall through */ case 1943 : /* fall through */ case 1959 : /* fall through */ @@ -3159,9 +2948,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2023 : /* fall through */ case 2039 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf007) - { itype = SH4_INSN_FMOV7_COMPACT; sh4_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FMOV7_COMPACT; sh4_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1928 : /* fall through */ case 1944 : /* fall through */ case 1960 : /* fall through */ @@ -3171,9 +2958,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2024 : /* fall through */ case 2040 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf008) - { itype = SH4_INSN_FMOV2_COMPACT; sh4_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FMOV2_COMPACT; sh4_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1929 : /* fall through */ case 1945 : /* fall through */ case 1961 : /* fall through */ @@ -3183,9 +2968,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2025 : /* fall through */ case 2041 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf009) - { itype = SH4_INSN_FMOV3_COMPACT; sh4_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FMOV3_COMPACT; sh4_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1930 : /* fall through */ case 1946 : /* fall through */ case 1962 : /* fall through */ @@ -3195,9 +2978,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2026 : /* fall through */ case 2042 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00a) - { itype = SH4_INSN_FMOV5_COMPACT; sh4_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FMOV5_COMPACT; sh4_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1931 : /* fall through */ case 1947 : /* fall through */ case 1963 : /* fall through */ @@ -3207,9 +2988,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2027 : /* fall through */ case 2043 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00b) - { itype = SH4_INSN_FMOV6_COMPACT; sh4_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FMOV6_COMPACT; sh4_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1932 : /* fall through */ case 1948 : /* fall through */ case 1964 : /* fall through */ @@ -3219,9 +2998,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2028 : /* fall through */ case 2044 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00c) - { itype = SH4_INSN_FMOV1_COMPACT; sh4_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FMOV1_COMPACT; sh4_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1933 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3229,14 +3006,10 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf00d) - { itype = SH4_INSN_FSTS_COMPACT; sh4_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FSTS_COMPACT; sh4_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf08d) - { itype = SH4_INSN_FLDI0_COMPACT; sh4_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FLDI0_COMPACT; sh4_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3249,9 +3022,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh case 2030 : /* fall through */ case 2046 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00e) - { itype = SH4_INSN_FMAC_COMPACT; sh4_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FMAC_COMPACT; sh4_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1949 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3259,14 +3030,10 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf01d) - { itype = SH4_INSN_FLDS_COMPACT; sh4_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FLDS_COMPACT; sh4_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf09d) - { itype = SH4_INSN_FLDI1_COMPACT; sh4_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FLDI1_COMPACT; sh4_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3277,9 +3044,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf02d) - { itype = SH4_INSN_FLOAT_COMPACT; sh4_extract_sfmt_float_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FLOAT_COMPACT; sh4_extract_sfmt_float_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf1ff) == 0xf0ad) @@ -3295,9 +3060,7 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf03d) - { itype = SH4_INSN_FTRC_COMPACT; sh4_extract_sfmt_ftrc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FTRC_COMPACT; sh4_extract_sfmt_ftrc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf1ff) == 0xf0bd) @@ -3323,14 +3086,10 @@ sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf06d) - { itype = SH4_INSN_FSQRT_COMPACT; sh4_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FSQRT_COMPACT; sh4_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf0ed) - { itype = SH4_INSN_FIPR_COMPACT; sh4_extract_sfmt_fipr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_INSN_FIPR_COMPACT; sh4_extract_sfmt_fipr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } diff --git a/sid/component/cgen-cpu/sh/sh4-decode.h b/sid/component/cgen-cpu/sh/sh4-decode.h index 85aaf2671d..86d1a6aee0 100644 --- a/sid/component/cgen-cpu/sh/sh4-decode.h +++ b/sid/component/cgen-cpu/sh/sh4-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-defs.h b/sid/component/cgen-cpu/sh/sh4-defs.h index fd6cfe339b..2df1d78e8f 100644 --- a/sid/component/cgen-cpu/sh/sh4-defs.h +++ b/sid/component/cgen-cpu/sh/sh4-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-model.cxx b/sid/component/cgen-cpu/sh/sh4-model.cxx index a65196782c..26e2c7117b 100644 --- a/sid/component/cgen-cpu/sh/sh4-model.cxx +++ b/sid/component/cgen-cpu/sh/sh4-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-model.h b/sid/component/cgen-cpu/sh/sh4-model.h index 4c4cefb895..aa1900f0c6 100644 --- a/sid/component/cgen-cpu/sh/sh4-model.h +++ b/sid/component/cgen-cpu/sh/sh4-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-nofpu-cpu.h b/sid/component/cgen-cpu/sh/sh4-nofpu-cpu.h index ab95116ab5..c5b6c0bf32 100644 --- a/sid/component/cgen-cpu/sh/sh4-nofpu-cpu.h +++ b/sid/component/cgen-cpu/sh/sh4-nofpu-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -103,7 +103,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh4-nofpu-decode.cxx b/sid/component/cgen-cpu/sh/sh4-nofpu-decode.cxx index c858ae3b4b..ba1ed787e4 100644 --- a/sid/component/cgen-cpu/sh/sh4-nofpu-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh4-nofpu-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -425,10 +425,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 64 : /* fall through */ case 80 : /* fall through */ case 96 : /* fall through */ - case 112 : - if ((entire_insn & 0xf00f0000) == 0x0) - { itype = SH4_NOFPU_INSN_MOVI20_COMPACT; sh4_nofpu_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 112 : itype = SH4_NOFPU_INSN_MOVI20_COMPACT; sh4_nofpu_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x3) @@ -443,9 +440,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 100 : /* fall through */ case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH4_NOFPU_INSN_MOVB3_COMPACT; sh4_nofpu_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVB3_COMPACT; sh4_nofpu_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ @@ -455,9 +450,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 101 : /* fall through */ case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH4_NOFPU_INSN_MOVW3_COMPACT; sh4_nofpu_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW3_COMPACT; sh4_nofpu_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ @@ -467,9 +460,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 102 : /* fall through */ case 118 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH4_NOFPU_INSN_MOVL3_COMPACT; sh4_nofpu_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL3_COMPACT; sh4_nofpu_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ @@ -479,9 +470,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 103 : /* fall through */ case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH4_NOFPU_INSN_MULL_COMPACT; sh4_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MULL_COMPACT; sh4_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : { unsigned int val = (((insn >> 22) & (1 << 0))); @@ -524,9 +513,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 108 : /* fall through */ case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH4_NOFPU_INSN_MOVB8_COMPACT; sh4_nofpu_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVB8_COMPACT; sh4_nofpu_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ @@ -536,9 +523,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 109 : /* fall through */ case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH4_NOFPU_INSN_MOVW8_COMPACT; sh4_nofpu_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW8_COMPACT; sh4_nofpu_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ @@ -548,9 +533,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 110 : /* fall through */ case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH4_NOFPU_INSN_MOVL8_COMPACT; sh4_nofpu_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL8_COMPACT; sh4_nofpu_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ @@ -560,9 +543,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 111 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH4_NOFPU_INSN_MACL_COMPACT; sh4_nofpu_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MACL_COMPACT; sh4_nofpu_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -628,14 +609,10 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x83) - { itype = SH4_NOFPU_INSN_PREF_COMPACT; sh4_nofpu_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_PREF_COMPACT; sh4_nofpu_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xc3) - { itype = SH4_NOFPU_INSN_MOVCAL_COMPACT; sh4_nofpu_extract_sfmt_movcal_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVCAL_COMPACT; sh4_nofpu_extract_sfmt_movcal_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -783,9 +760,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 254 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH4_NOFPU_INSN_MOVL5_COMPACT; sh4_nofpu_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL5_COMPACT; sh4_nofpu_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : /* fall through */ case 272 : /* fall through */ case 288 : /* fall through */ @@ -795,9 +770,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 352 : /* fall through */ case 368 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH4_NOFPU_INSN_MOVB1_COMPACT; sh4_nofpu_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVB1_COMPACT; sh4_nofpu_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 257 : /* fall through */ case 273 : /* fall through */ case 289 : /* fall through */ @@ -807,9 +780,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 353 : /* fall through */ case 369 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH4_NOFPU_INSN_MOVW1_COMPACT; sh4_nofpu_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW1_COMPACT; sh4_nofpu_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 258 : /* fall through */ case 274 : /* fall through */ case 290 : /* fall through */ @@ -819,9 +790,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 354 : /* fall through */ case 370 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH4_NOFPU_INSN_MOVL1_COMPACT; sh4_nofpu_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL1_COMPACT; sh4_nofpu_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 260 : /* fall through */ case 276 : /* fall through */ case 292 : /* fall through */ @@ -831,9 +800,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 356 : /* fall through */ case 372 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH4_NOFPU_INSN_MOVB2_COMPACT; sh4_nofpu_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVB2_COMPACT; sh4_nofpu_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 261 : /* fall through */ case 277 : /* fall through */ case 293 : /* fall through */ @@ -843,9 +810,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 357 : /* fall through */ case 373 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH4_NOFPU_INSN_MOVW2_COMPACT; sh4_nofpu_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW2_COMPACT; sh4_nofpu_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 262 : /* fall through */ case 278 : /* fall through */ case 294 : /* fall through */ @@ -855,9 +820,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 358 : /* fall through */ case 374 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH4_NOFPU_INSN_MOVL2_COMPACT; sh4_nofpu_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL2_COMPACT; sh4_nofpu_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 263 : /* fall through */ case 279 : /* fall through */ case 295 : /* fall through */ @@ -867,9 +830,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 359 : /* fall through */ case 375 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH4_NOFPU_INSN_DIV0S_COMPACT; sh4_nofpu_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_DIV0S_COMPACT; sh4_nofpu_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 280 : /* fall through */ case 296 : /* fall through */ @@ -879,9 +840,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 360 : /* fall through */ case 376 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH4_NOFPU_INSN_TST_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_TST_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 265 : /* fall through */ case 281 : /* fall through */ case 297 : /* fall through */ @@ -891,9 +850,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 361 : /* fall through */ case 377 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH4_NOFPU_INSN_AND_COMPACT; sh4_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_AND_COMPACT; sh4_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 266 : /* fall through */ case 282 : /* fall through */ case 298 : /* fall through */ @@ -903,9 +860,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 362 : /* fall through */ case 378 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH4_NOFPU_INSN_XOR_COMPACT; sh4_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_XOR_COMPACT; sh4_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 267 : /* fall through */ case 283 : /* fall through */ case 299 : /* fall through */ @@ -915,9 +870,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 363 : /* fall through */ case 379 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH4_NOFPU_INSN_OR_COMPACT; sh4_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_OR_COMPACT; sh4_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 268 : /* fall through */ case 284 : /* fall through */ case 300 : /* fall through */ @@ -927,9 +880,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 364 : /* fall through */ case 380 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH4_NOFPU_INSN_CMPSTR_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_CMPSTR_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 269 : /* fall through */ case 285 : /* fall through */ case 301 : /* fall through */ @@ -939,9 +890,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 365 : /* fall through */ case 381 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH4_NOFPU_INSN_XTRCT_COMPACT; sh4_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_XTRCT_COMPACT; sh4_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : /* fall through */ case 286 : /* fall through */ case 302 : /* fall through */ @@ -951,9 +900,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 366 : /* fall through */ case 382 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH4_NOFPU_INSN_MULUW_COMPACT; sh4_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MULUW_COMPACT; sh4_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 271 : /* fall through */ case 287 : /* fall through */ case 303 : /* fall through */ @@ -963,9 +910,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 367 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH4_NOFPU_INSN_MULSW_COMPACT; sh4_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MULSW_COMPACT; sh4_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ @@ -975,9 +920,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 480 : /* fall through */ case 496 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH4_NOFPU_INSN_CMPEQ_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_CMPEQ_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 385 : /* fall through */ case 401 : /* fall through */ case 417 : /* fall through */ @@ -1010,9 +953,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 482 : /* fall through */ case 498 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH4_NOFPU_INSN_CMPHS_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_CMPHS_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ @@ -1022,9 +963,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 483 : /* fall through */ case 499 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH4_NOFPU_INSN_CMPGE_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_CMPGE_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ @@ -1034,9 +973,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 484 : /* fall through */ case 500 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH4_NOFPU_INSN_DIV1_COMPACT; sh4_nofpu_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_DIV1_COMPACT; sh4_nofpu_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ @@ -1046,9 +983,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 485 : /* fall through */ case 501 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH4_NOFPU_INSN_DMULUL_COMPACT; sh4_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_DMULUL_COMPACT; sh4_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ @@ -1058,9 +993,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 486 : /* fall through */ case 502 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH4_NOFPU_INSN_CMPHI_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_CMPHI_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ @@ -1070,9 +1003,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 487 : /* fall through */ case 503 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH4_NOFPU_INSN_CMPGT_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_CMPGT_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ @@ -1082,9 +1013,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 488 : /* fall through */ case 504 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH4_NOFPU_INSN_SUB_COMPACT; sh4_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_SUB_COMPACT; sh4_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ @@ -1094,9 +1023,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 490 : /* fall through */ case 506 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH4_NOFPU_INSN_SUBC_COMPACT; sh4_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_SUBC_COMPACT; sh4_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ @@ -1106,9 +1033,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 491 : /* fall through */ case 507 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH4_NOFPU_INSN_SUBV_COMPACT; sh4_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_SUBV_COMPACT; sh4_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ @@ -1118,9 +1043,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 492 : /* fall through */ case 508 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH4_NOFPU_INSN_ADD_COMPACT; sh4_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_ADD_COMPACT; sh4_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ @@ -1130,9 +1053,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 493 : /* fall through */ case 509 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH4_NOFPU_INSN_DMULSL_COMPACT; sh4_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_DMULSL_COMPACT; sh4_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ @@ -1142,9 +1063,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 494 : /* fall through */ case 510 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH4_NOFPU_INSN_ADDC_COMPACT; sh4_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_ADDC_COMPACT; sh4_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ @@ -1154,9 +1073,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 495 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH4_NOFPU_INSN_ADDV_COMPACT; sh4_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_ADDV_COMPACT; sh4_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4000) @@ -1216,9 +1133,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 620 : /* fall through */ case 636 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400c) - { itype = SH4_NOFPU_INSN_SHAD_COMPACT; sh4_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_SHAD_COMPACT; sh4_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 525 : /* fall through */ case 541 : /* fall through */ case 557 : /* fall through */ @@ -1228,9 +1143,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 621 : /* fall through */ case 637 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400d) - { itype = SH4_NOFPU_INSN_SHLD_COMPACT; sh4_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_SHLD_COMPACT; sh4_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 526 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x400e) @@ -1245,9 +1158,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 623 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH4_NOFPU_INSN_MACW_COMPACT; sh4_nofpu_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MACW_COMPACT; sh4_nofpu_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1512,9 +1423,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH4_NOFPU_INSN_MOVL11_COMPACT; sh4_nofpu_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL11_COMPACT; sh4_nofpu_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 784 : /* fall through */ case 800 : /* fall through */ @@ -1524,9 +1433,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 864 : /* fall through */ case 880 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH4_NOFPU_INSN_MOVB6_COMPACT; sh4_nofpu_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVB6_COMPACT; sh4_nofpu_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 785 : /* fall through */ case 801 : /* fall through */ @@ -1536,9 +1443,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 865 : /* fall through */ case 881 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH4_NOFPU_INSN_MOVW6_COMPACT; sh4_nofpu_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW6_COMPACT; sh4_nofpu_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 770 : /* fall through */ case 786 : /* fall through */ case 802 : /* fall through */ @@ -1548,9 +1453,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 866 : /* fall through */ case 882 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH4_NOFPU_INSN_MOVL6_COMPACT; sh4_nofpu_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL6_COMPACT; sh4_nofpu_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 771 : /* fall through */ case 787 : /* fall through */ case 803 : /* fall through */ @@ -1560,9 +1463,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 867 : /* fall through */ case 883 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH4_NOFPU_INSN_MOV_COMPACT; sh4_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOV_COMPACT; sh4_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 772 : /* fall through */ case 788 : /* fall through */ case 804 : /* fall through */ @@ -1572,9 +1473,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 868 : /* fall through */ case 884 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH4_NOFPU_INSN_MOVB7_COMPACT; sh4_nofpu_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVB7_COMPACT; sh4_nofpu_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 773 : /* fall through */ case 789 : /* fall through */ case 805 : /* fall through */ @@ -1584,9 +1483,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 869 : /* fall through */ case 885 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH4_NOFPU_INSN_MOVW7_COMPACT; sh4_nofpu_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW7_COMPACT; sh4_nofpu_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 774 : /* fall through */ case 790 : /* fall through */ case 806 : /* fall through */ @@ -1596,9 +1493,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 870 : /* fall through */ case 886 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH4_NOFPU_INSN_MOVL7_COMPACT; sh4_nofpu_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL7_COMPACT; sh4_nofpu_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 775 : /* fall through */ case 791 : /* fall through */ case 807 : /* fall through */ @@ -1608,9 +1503,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 871 : /* fall through */ case 887 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH4_NOFPU_INSN_NOT_COMPACT; sh4_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_NOT_COMPACT; sh4_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 776 : /* fall through */ case 792 : /* fall through */ case 808 : /* fall through */ @@ -1620,9 +1513,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 872 : /* fall through */ case 888 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH4_NOFPU_INSN_SWAPB_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_SWAPB_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 777 : /* fall through */ case 793 : /* fall through */ case 809 : /* fall through */ @@ -1632,9 +1523,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 873 : /* fall through */ case 889 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH4_NOFPU_INSN_SWAPW_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_SWAPW_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 778 : /* fall through */ case 794 : /* fall through */ case 810 : /* fall through */ @@ -1644,9 +1533,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 874 : /* fall through */ case 890 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH4_NOFPU_INSN_NEGC_COMPACT; sh4_nofpu_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_NEGC_COMPACT; sh4_nofpu_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 779 : /* fall through */ case 795 : /* fall through */ case 811 : /* fall through */ @@ -1656,9 +1543,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 875 : /* fall through */ case 891 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH4_NOFPU_INSN_NEG_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_NEG_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 780 : /* fall through */ case 796 : /* fall through */ case 812 : /* fall through */ @@ -1668,9 +1553,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 876 : /* fall through */ case 892 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH4_NOFPU_INSN_EXTUB_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_EXTUB_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 781 : /* fall through */ case 797 : /* fall through */ case 813 : /* fall through */ @@ -1680,9 +1563,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 877 : /* fall through */ case 893 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH4_NOFPU_INSN_EXTUW_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_EXTUW_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 782 : /* fall through */ case 798 : /* fall through */ case 814 : /* fall through */ @@ -1692,9 +1573,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 878 : /* fall through */ case 894 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH4_NOFPU_INSN_EXTSB_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_EXTSB_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 783 : /* fall through */ case 799 : /* fall through */ case 815 : /* fall through */ @@ -1704,9 +1583,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 879 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH4_NOFPU_INSN_EXTSW_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_EXTSW_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -1836,9 +1713,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 1022 : /* fall through */ case 1023 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH4_NOFPU_INSN_ADDI_COMPACT; sh4_nofpu_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_ADDI_COMPACT; sh4_nofpu_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ @@ -1973,49 +1848,31 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH4_NOFPU_INSN_MOVB5_COMPACT; sh4_nofpu_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVB5_COMPACT; sh4_nofpu_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH4_NOFPU_INSN_MOVW5_COMPACT; sh4_nofpu_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW5_COMPACT; sh4_nofpu_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH4_NOFPU_INSN_MOVB10_COMPACT; sh4_nofpu_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVB10_COMPACT; sh4_nofpu_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH4_NOFPU_INSN_MOVW11_COMPACT; sh4_nofpu_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW11_COMPACT; sh4_nofpu_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH4_NOFPU_INSN_CMPEQI_COMPACT; sh4_nofpu_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_CMPEQI_COMPACT; sh4_nofpu_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH4_NOFPU_INSN_BT_COMPACT; sh4_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_BT_COMPACT; sh4_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH4_NOFPU_INSN_BF_COMPACT; sh4_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_BF_COMPACT; sh4_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH4_NOFPU_INSN_BTS_COMPACT; sh4_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_BTS_COMPACT; sh4_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH4_NOFPU_INSN_BFS_COMPACT; sh4_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_BFS_COMPACT; sh4_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2148,9 +2005,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 1278 : /* fall through */ case 1279 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH4_NOFPU_INSN_MOVW10_COMPACT; sh4_nofpu_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW10_COMPACT; sh4_nofpu_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ @@ -2280,9 +2135,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 1406 : /* fall through */ case 1407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH4_NOFPU_INSN_BRA_COMPACT; sh4_nofpu_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_BRA_COMPACT; sh4_nofpu_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ @@ -2412,9 +2265,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 1534 : /* fall through */ case 1535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH4_NOFPU_INSN_BSR_COMPACT; sh4_nofpu_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_BSR_COMPACT; sh4_nofpu_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ @@ -2549,84 +2400,52 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH4_NOFPU_INSN_MOVB4_COMPACT; sh4_nofpu_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVB4_COMPACT; sh4_nofpu_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH4_NOFPU_INSN_MOVW4_COMPACT; sh4_nofpu_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW4_COMPACT; sh4_nofpu_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH4_NOFPU_INSN_MOVL4_COMPACT; sh4_nofpu_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL4_COMPACT; sh4_nofpu_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH4_NOFPU_INSN_TRAPA_COMPACT; sh4_nofpu_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_TRAPA_COMPACT; sh4_nofpu_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH4_NOFPU_INSN_MOVB9_COMPACT; sh4_nofpu_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVB9_COMPACT; sh4_nofpu_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH4_NOFPU_INSN_MOVW9_COMPACT; sh4_nofpu_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVW9_COMPACT; sh4_nofpu_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH4_NOFPU_INSN_MOVL9_COMPACT; sh4_nofpu_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL9_COMPACT; sh4_nofpu_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH4_NOFPU_INSN_MOVA_COMPACT; sh4_nofpu_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVA_COMPACT; sh4_nofpu_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH4_NOFPU_INSN_TSTI_COMPACT; sh4_nofpu_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_TSTI_COMPACT; sh4_nofpu_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH4_NOFPU_INSN_ANDI_COMPACT; sh4_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_ANDI_COMPACT; sh4_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH4_NOFPU_INSN_XORI_COMPACT; sh4_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_XORI_COMPACT; sh4_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH4_NOFPU_INSN_ORI_COMPACT; sh4_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_ORI_COMPACT; sh4_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH4_NOFPU_INSN_TSTB_COMPACT; sh4_nofpu_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_TSTB_COMPACT; sh4_nofpu_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH4_NOFPU_INSN_ANDB_COMPACT; sh4_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_ANDB_COMPACT; sh4_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH4_NOFPU_INSN_XORB_COMPACT; sh4_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_XORB_COMPACT; sh4_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH4_NOFPU_INSN_ORB_COMPACT; sh4_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_ORB_COMPACT; sh4_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2759,9 +2578,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 1790 : /* fall through */ case 1791 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH4_NOFPU_INSN_MOVL10_COMPACT; sh4_nofpu_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVL10_COMPACT; sh4_nofpu_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ @@ -2891,9 +2708,7 @@ sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_ case 1918 : /* fall through */ case 1919 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH4_NOFPU_INSN_MOVI_COMPACT; sh4_nofpu_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4_NOFPU_INSN_MOVI_COMPACT; sh4_nofpu_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2045 : { unsigned int val = (((insn >> 27) & (1 << 0))); diff --git a/sid/component/cgen-cpu/sh/sh4-nofpu-decode.h b/sid/component/cgen-cpu/sh/sh4-nofpu-decode.h index c2a25c7e3b..bc6ff29908 100644 --- a/sid/component/cgen-cpu/sh/sh4-nofpu-decode.h +++ b/sid/component/cgen-cpu/sh/sh4-nofpu-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-nofpu-defs.h b/sid/component/cgen-cpu/sh/sh4-nofpu-defs.h index f102cf75e2..99116abeee 100644 --- a/sid/component/cgen-cpu/sh/sh4-nofpu-defs.h +++ b/sid/component/cgen-cpu/sh/sh4-nofpu-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-nofpu-model.cxx b/sid/component/cgen-cpu/sh/sh4-nofpu-model.cxx index 101483554f..942688c73e 100644 --- a/sid/component/cgen-cpu/sh/sh4-nofpu-model.cxx +++ b/sid/component/cgen-cpu/sh/sh4-nofpu-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-nofpu-model.h b/sid/component/cgen-cpu/sh/sh4-nofpu-model.h index 0bc857da84..aef4aca5a9 100644 --- a/sid/component/cgen-cpu/sh/sh4-nofpu-model.h +++ b/sid/component/cgen-cpu/sh/sh4-nofpu-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-nofpu-sem.cxx b/sid/component/cgen-cpu/sh/sh4-nofpu-sem.cxx index a5b60ff005..6d3e2c204b 100644 --- a/sid/component/cgen-cpu/sh/sh4-nofpu-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh4-nofpu-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-nofpu-write.cxx b/sid/component/cgen-cpu/sh/sh4-nofpu-write.cxx index 01d63de82c..8c5179135f 100644 --- a/sid/component/cgen-cpu/sh/sh4-nofpu-write.cxx +++ b/sid/component/cgen-cpu/sh/sh4-nofpu-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-sem.cxx b/sid/component/cgen-cpu/sh/sh4-sem.cxx index 9d845a5063..4ada95f110 100644 --- a/sid/component/cgen-cpu/sh/sh4-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh4-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4-write.cxx b/sid/component/cgen-cpu/sh/sh4-write.cxx index 0e0fcaaa3e..83f50218ab 100644 --- a/sid/component/cgen-cpu/sh/sh4-write.cxx +++ b/sid/component/cgen-cpu/sh/sh4-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-cpu.h b/sid/component/cgen-cpu/sh/sh4a-cpu.h index 2be49a9fc9..9fea89725c 100644 --- a/sid/component/cgen-cpu/sh/sh4a-cpu.h +++ b/sid/component/cgen-cpu/sh/sh4a-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -115,7 +115,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh4a-decode.cxx b/sid/component/cgen-cpu/sh/sh4a-decode.cxx index 25215a01c0..3d7d5d9fa8 100644 --- a/sid/component/cgen-cpu/sh/sh4a-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh4a-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -504,14 +504,10 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x3) - { itype = SH4A_INSN_BSRF_COMPACT; sh4a_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_BSRF_COMPACT; sh4a_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x83) - { itype = SH4A_INSN_PREF_COMPACT; sh4a_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_PREF_COMPACT; sh4a_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -524,9 +520,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 100 : /* fall through */ case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH4A_INSN_MOVB3_COMPACT; sh4a_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVB3_COMPACT; sh4a_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ @@ -536,9 +530,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 101 : /* fall through */ case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH4A_INSN_MOVW3_COMPACT; sh4a_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW3_COMPACT; sh4a_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ @@ -548,9 +540,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 102 : /* fall through */ case 118 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH4A_INSN_MOVL3_COMPACT; sh4a_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL3_COMPACT; sh4a_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ @@ -560,9 +550,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 103 : /* fall through */ case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH4A_INSN_MULL_COMPACT; sh4a_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MULL_COMPACT; sh4a_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffff) == 0x8) @@ -592,9 +580,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 108 : /* fall through */ case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH4A_INSN_MOVB8_COMPACT; sh4a_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVB8_COMPACT; sh4a_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ @@ -604,9 +590,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 109 : /* fall through */ case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH4A_INSN_MOVW8_COMPACT; sh4a_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW8_COMPACT; sh4a_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ @@ -616,9 +600,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 110 : /* fall through */ case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH4A_INSN_MOVL8_COMPACT; sh4a_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL8_COMPACT; sh4a_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ @@ -628,9 +610,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 111 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH4A_INSN_MACL_COMPACT; sh4a_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MACL_COMPACT; sh4a_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -668,14 +648,10 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x23) - { itype = SH4A_INSN_BRAF_COMPACT; sh4a_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_BRAF_COMPACT; sh4a_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xa3) - { itype = SH4A_INSN_OCBP_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_OCBP_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -858,9 +834,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 254 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH4A_INSN_MOVL5_COMPACT; sh4a_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL5_COMPACT; sh4a_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : /* fall through */ case 272 : /* fall through */ case 288 : /* fall through */ @@ -870,9 +844,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 352 : /* fall through */ case 368 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH4A_INSN_MOVB1_COMPACT; sh4a_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVB1_COMPACT; sh4a_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 257 : /* fall through */ case 273 : /* fall through */ case 289 : /* fall through */ @@ -882,9 +854,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 353 : /* fall through */ case 369 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH4A_INSN_MOVW1_COMPACT; sh4a_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW1_COMPACT; sh4a_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 258 : /* fall through */ case 274 : /* fall through */ case 290 : /* fall through */ @@ -894,9 +864,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 354 : /* fall through */ case 370 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH4A_INSN_MOVL1_COMPACT; sh4a_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL1_COMPACT; sh4a_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 260 : /* fall through */ case 276 : /* fall through */ case 292 : /* fall through */ @@ -906,9 +874,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 356 : /* fall through */ case 372 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH4A_INSN_MOVB2_COMPACT; sh4a_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVB2_COMPACT; sh4a_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 261 : /* fall through */ case 277 : /* fall through */ case 293 : /* fall through */ @@ -918,9 +884,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 357 : /* fall through */ case 373 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH4A_INSN_MOVW2_COMPACT; sh4a_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW2_COMPACT; sh4a_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 262 : /* fall through */ case 278 : /* fall through */ case 294 : /* fall through */ @@ -930,9 +894,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 358 : /* fall through */ case 374 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH4A_INSN_MOVL2_COMPACT; sh4a_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL2_COMPACT; sh4a_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 263 : /* fall through */ case 279 : /* fall through */ case 295 : /* fall through */ @@ -942,9 +904,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 359 : /* fall through */ case 375 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH4A_INSN_DIV0S_COMPACT; sh4a_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_DIV0S_COMPACT; sh4a_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 280 : /* fall through */ case 296 : /* fall through */ @@ -954,9 +914,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 360 : /* fall through */ case 376 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH4A_INSN_TST_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_TST_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 265 : /* fall through */ case 281 : /* fall through */ case 297 : /* fall through */ @@ -966,9 +924,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 361 : /* fall through */ case 377 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH4A_INSN_AND_COMPACT; sh4a_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_AND_COMPACT; sh4a_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 266 : /* fall through */ case 282 : /* fall through */ case 298 : /* fall through */ @@ -978,9 +934,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 362 : /* fall through */ case 378 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH4A_INSN_XOR_COMPACT; sh4a_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_XOR_COMPACT; sh4a_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 267 : /* fall through */ case 283 : /* fall through */ case 299 : /* fall through */ @@ -990,9 +944,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 363 : /* fall through */ case 379 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH4A_INSN_OR_COMPACT; sh4a_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_OR_COMPACT; sh4a_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 268 : /* fall through */ case 284 : /* fall through */ case 300 : /* fall through */ @@ -1002,9 +954,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 364 : /* fall through */ case 380 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH4A_INSN_CMPSTR_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_CMPSTR_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 269 : /* fall through */ case 285 : /* fall through */ case 301 : /* fall through */ @@ -1014,9 +964,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 365 : /* fall through */ case 381 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH4A_INSN_XTRCT_COMPACT; sh4a_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_XTRCT_COMPACT; sh4a_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : /* fall through */ case 286 : /* fall through */ case 302 : /* fall through */ @@ -1026,9 +974,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 366 : /* fall through */ case 382 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH4A_INSN_MULUW_COMPACT; sh4a_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MULUW_COMPACT; sh4a_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 271 : /* fall through */ case 287 : /* fall through */ case 303 : /* fall through */ @@ -1038,9 +984,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 367 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH4A_INSN_MULSW_COMPACT; sh4a_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MULSW_COMPACT; sh4a_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ @@ -1050,9 +994,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 480 : /* fall through */ case 496 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH4A_INSN_CMPEQ_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_CMPEQ_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ case 402 : /* fall through */ case 418 : /* fall through */ @@ -1062,9 +1004,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 482 : /* fall through */ case 498 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH4A_INSN_CMPHS_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_CMPHS_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ @@ -1074,9 +1014,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 483 : /* fall through */ case 499 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH4A_INSN_CMPGE_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_CMPGE_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ @@ -1086,9 +1024,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 484 : /* fall through */ case 500 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH4A_INSN_DIV1_COMPACT; sh4a_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_DIV1_COMPACT; sh4a_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ @@ -1098,9 +1034,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 485 : /* fall through */ case 501 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH4A_INSN_DMULUL_COMPACT; sh4a_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_DMULUL_COMPACT; sh4a_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ @@ -1110,9 +1044,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 486 : /* fall through */ case 502 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH4A_INSN_CMPHI_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_CMPHI_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ @@ -1122,9 +1054,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 487 : /* fall through */ case 503 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH4A_INSN_CMPGT_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_CMPGT_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ @@ -1134,9 +1064,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 488 : /* fall through */ case 504 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH4A_INSN_SUB_COMPACT; sh4a_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_SUB_COMPACT; sh4a_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ @@ -1146,9 +1074,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 490 : /* fall through */ case 506 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH4A_INSN_SUBC_COMPACT; sh4a_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_SUBC_COMPACT; sh4a_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ @@ -1158,9 +1084,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 491 : /* fall through */ case 507 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH4A_INSN_SUBV_COMPACT; sh4a_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_SUBV_COMPACT; sh4a_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ @@ -1170,9 +1094,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 492 : /* fall through */ case 508 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH4A_INSN_ADD_COMPACT; sh4a_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_ADD_COMPACT; sh4a_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ @@ -1182,9 +1104,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 493 : /* fall through */ case 509 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH4A_INSN_DMULSL_COMPACT; sh4a_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_DMULSL_COMPACT; sh4a_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ @@ -1194,9 +1114,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 494 : /* fall through */ case 510 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH4A_INSN_ADDC_COMPACT; sh4a_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_ADDC_COMPACT; sh4a_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ @@ -1206,9 +1124,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 495 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH4A_INSN_ADDV_COMPACT; sh4a_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_ADDV_COMPACT; sh4a_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4000) @@ -1268,9 +1184,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 620 : /* fall through */ case 636 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400c) - { itype = SH4A_INSN_SHAD_COMPACT; sh4a_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_SHAD_COMPACT; sh4a_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 525 : /* fall through */ case 541 : /* fall through */ case 557 : /* fall through */ @@ -1280,9 +1194,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 621 : /* fall through */ case 637 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400d) - { itype = SH4A_INSN_SHLD_COMPACT; sh4a_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_SHLD_COMPACT; sh4a_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 526 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x400e) @@ -1297,9 +1209,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 623 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH4A_INSN_MACW_COMPACT; sh4a_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MACW_COMPACT; sh4a_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1412,14 +1322,10 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4029) - { itype = SH4A_INSN_SHLR16_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_SHLR16_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x40a9) - { itype = SH4A_INSN_MOVUAL_COMPACT; sh4a_extract_sfmt_movual_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVUAL_COMPACT; sh4a_extract_sfmt_movual_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1602,9 +1508,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH4A_INSN_MOVL11_COMPACT; sh4a_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL11_COMPACT; sh4a_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 784 : /* fall through */ case 800 : /* fall through */ @@ -1614,9 +1518,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 864 : /* fall through */ case 880 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH4A_INSN_MOVB6_COMPACT; sh4a_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVB6_COMPACT; sh4a_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 785 : /* fall through */ case 801 : /* fall through */ @@ -1626,9 +1528,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 865 : /* fall through */ case 881 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH4A_INSN_MOVW6_COMPACT; sh4a_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW6_COMPACT; sh4a_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 770 : /* fall through */ case 786 : /* fall through */ case 802 : /* fall through */ @@ -1638,9 +1538,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 866 : /* fall through */ case 882 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH4A_INSN_MOVL6_COMPACT; sh4a_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL6_COMPACT; sh4a_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 771 : /* fall through */ case 787 : /* fall through */ case 803 : /* fall through */ @@ -1650,9 +1548,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 867 : /* fall through */ case 883 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH4A_INSN_MOV_COMPACT; sh4a_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOV_COMPACT; sh4a_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 772 : /* fall through */ case 788 : /* fall through */ case 804 : /* fall through */ @@ -1662,9 +1558,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 868 : /* fall through */ case 884 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH4A_INSN_MOVB7_COMPACT; sh4a_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVB7_COMPACT; sh4a_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 773 : /* fall through */ case 789 : /* fall through */ case 805 : /* fall through */ @@ -1674,9 +1568,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 869 : /* fall through */ case 885 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH4A_INSN_MOVW7_COMPACT; sh4a_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW7_COMPACT; sh4a_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 774 : /* fall through */ case 790 : /* fall through */ case 806 : /* fall through */ @@ -1686,9 +1578,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 870 : /* fall through */ case 886 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH4A_INSN_MOVL7_COMPACT; sh4a_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL7_COMPACT; sh4a_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 775 : /* fall through */ case 791 : /* fall through */ case 807 : /* fall through */ @@ -1698,9 +1588,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 871 : /* fall through */ case 887 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH4A_INSN_NOT_COMPACT; sh4a_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_NOT_COMPACT; sh4a_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 776 : /* fall through */ case 792 : /* fall through */ case 808 : /* fall through */ @@ -1710,9 +1598,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 872 : /* fall through */ case 888 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH4A_INSN_SWAPB_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_SWAPB_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 777 : /* fall through */ case 793 : /* fall through */ case 809 : /* fall through */ @@ -1722,9 +1608,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 873 : /* fall through */ case 889 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH4A_INSN_SWAPW_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_SWAPW_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 778 : /* fall through */ case 794 : /* fall through */ case 810 : /* fall through */ @@ -1734,9 +1618,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 874 : /* fall through */ case 890 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH4A_INSN_NEGC_COMPACT; sh4a_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_NEGC_COMPACT; sh4a_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 779 : /* fall through */ case 795 : /* fall through */ case 811 : /* fall through */ @@ -1746,9 +1628,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 875 : /* fall through */ case 891 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH4A_INSN_NEG_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_NEG_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 780 : /* fall through */ case 796 : /* fall through */ case 812 : /* fall through */ @@ -1758,9 +1638,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 876 : /* fall through */ case 892 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH4A_INSN_EXTUB_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_EXTUB_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 781 : /* fall through */ case 797 : /* fall through */ case 813 : /* fall through */ @@ -1770,9 +1648,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 877 : /* fall through */ case 893 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH4A_INSN_EXTUW_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_EXTUW_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 782 : /* fall through */ case 798 : /* fall through */ case 814 : /* fall through */ @@ -1782,9 +1658,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 878 : /* fall through */ case 894 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH4A_INSN_EXTSB_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_EXTSB_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 783 : /* fall through */ case 799 : /* fall through */ case 815 : /* fall through */ @@ -1794,9 +1668,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 879 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH4A_INSN_EXTSW_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_EXTSW_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -1926,9 +1798,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 1022 : /* fall through */ case 1023 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH4A_INSN_ADDI_COMPACT; sh4a_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_ADDI_COMPACT; sh4a_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ @@ -2063,49 +1933,31 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH4A_INSN_MOVB5_COMPACT; sh4a_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVB5_COMPACT; sh4a_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH4A_INSN_MOVW5_COMPACT; sh4a_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW5_COMPACT; sh4a_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH4A_INSN_MOVB10_COMPACT; sh4a_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVB10_COMPACT; sh4a_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH4A_INSN_MOVW11_COMPACT; sh4a_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW11_COMPACT; sh4a_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH4A_INSN_CMPEQI_COMPACT; sh4a_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_CMPEQI_COMPACT; sh4a_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH4A_INSN_BT_COMPACT; sh4a_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_BT_COMPACT; sh4a_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH4A_INSN_BF_COMPACT; sh4a_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_BF_COMPACT; sh4a_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH4A_INSN_BTS_COMPACT; sh4a_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_BTS_COMPACT; sh4a_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH4A_INSN_BFS_COMPACT; sh4a_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_BFS_COMPACT; sh4a_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2238,9 +2090,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 1278 : /* fall through */ case 1279 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH4A_INSN_MOVW10_COMPACT; sh4a_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW10_COMPACT; sh4a_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ @@ -2370,9 +2220,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 1406 : /* fall through */ case 1407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH4A_INSN_BRA_COMPACT; sh4a_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_BRA_COMPACT; sh4a_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ @@ -2502,9 +2350,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 1534 : /* fall through */ case 1535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH4A_INSN_BSR_COMPACT; sh4a_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_BSR_COMPACT; sh4a_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ @@ -2639,84 +2485,52 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH4A_INSN_MOVB4_COMPACT; sh4a_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVB4_COMPACT; sh4a_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH4A_INSN_MOVW4_COMPACT; sh4a_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW4_COMPACT; sh4a_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH4A_INSN_MOVL4_COMPACT; sh4a_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL4_COMPACT; sh4a_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH4A_INSN_TRAPA_COMPACT; sh4a_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_TRAPA_COMPACT; sh4a_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH4A_INSN_MOVB9_COMPACT; sh4a_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVB9_COMPACT; sh4a_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH4A_INSN_MOVW9_COMPACT; sh4a_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVW9_COMPACT; sh4a_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH4A_INSN_MOVL9_COMPACT; sh4a_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL9_COMPACT; sh4a_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH4A_INSN_MOVA_COMPACT; sh4a_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVA_COMPACT; sh4a_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH4A_INSN_TSTI_COMPACT; sh4a_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_TSTI_COMPACT; sh4a_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH4A_INSN_ANDI_COMPACT; sh4a_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_ANDI_COMPACT; sh4a_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH4A_INSN_XORI_COMPACT; sh4a_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_XORI_COMPACT; sh4a_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH4A_INSN_ORI_COMPACT; sh4a_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_ORI_COMPACT; sh4a_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH4A_INSN_TSTB_COMPACT; sh4a_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_TSTB_COMPACT; sh4a_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH4A_INSN_ANDB_COMPACT; sh4a_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_ANDB_COMPACT; sh4a_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH4A_INSN_XORB_COMPACT; sh4a_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_XORB_COMPACT; sh4a_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH4A_INSN_ORB_COMPACT; sh4a_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_ORB_COMPACT; sh4a_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2849,9 +2663,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 1790 : /* fall through */ case 1791 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH4A_INSN_MOVL10_COMPACT; sh4a_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVL10_COMPACT; sh4a_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ @@ -2981,9 +2793,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 1918 : /* fall through */ case 1919 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH4A_INSN_MOVI_COMPACT; sh4a_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_MOVI_COMPACT; sh4a_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1920 : /* fall through */ case 1936 : /* fall through */ case 1952 : /* fall through */ @@ -2993,9 +2803,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2016 : /* fall through */ case 2032 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf000) - { itype = SH4A_INSN_FADD_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FADD_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1921 : /* fall through */ case 1937 : /* fall through */ case 1953 : /* fall through */ @@ -3005,9 +2813,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2017 : /* fall through */ case 2033 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf001) - { itype = SH4A_INSN_FSUB_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FSUB_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1922 : /* fall through */ case 1938 : /* fall through */ case 1954 : /* fall through */ @@ -3017,9 +2823,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2018 : /* fall through */ case 2034 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf002) - { itype = SH4A_INSN_FMUL_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FMUL_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1923 : /* fall through */ case 1939 : /* fall through */ case 1955 : /* fall through */ @@ -3029,9 +2833,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2019 : /* fall through */ case 2035 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf003) - { itype = SH4A_INSN_FDIV_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FDIV_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1924 : /* fall through */ case 1940 : /* fall through */ case 1956 : /* fall through */ @@ -3041,9 +2843,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2020 : /* fall through */ case 2036 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf004) - { itype = SH4A_INSN_FCMPEQ_COMPACT; sh4a_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FCMPEQ_COMPACT; sh4a_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1925 : /* fall through */ case 1941 : /* fall through */ case 1957 : /* fall through */ @@ -3053,9 +2853,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2021 : /* fall through */ case 2037 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf005) - { itype = SH4A_INSN_FCMPGT_COMPACT; sh4a_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FCMPGT_COMPACT; sh4a_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1926 : /* fall through */ case 1942 : /* fall through */ case 1958 : /* fall through */ @@ -3065,9 +2863,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2022 : /* fall through */ case 2038 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf006) - { itype = SH4A_INSN_FMOV4_COMPACT; sh4a_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FMOV4_COMPACT; sh4a_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1927 : /* fall through */ case 1943 : /* fall through */ case 1959 : /* fall through */ @@ -3077,9 +2873,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2023 : /* fall through */ case 2039 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf007) - { itype = SH4A_INSN_FMOV7_COMPACT; sh4a_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FMOV7_COMPACT; sh4a_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1928 : /* fall through */ case 1944 : /* fall through */ case 1960 : /* fall through */ @@ -3089,9 +2883,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2024 : /* fall through */ case 2040 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf008) - { itype = SH4A_INSN_FMOV2_COMPACT; sh4a_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FMOV2_COMPACT; sh4a_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1929 : /* fall through */ case 1945 : /* fall through */ case 1961 : /* fall through */ @@ -3101,9 +2893,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2025 : /* fall through */ case 2041 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf009) - { itype = SH4A_INSN_FMOV3_COMPACT; sh4a_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FMOV3_COMPACT; sh4a_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1930 : /* fall through */ case 1946 : /* fall through */ case 1962 : /* fall through */ @@ -3113,9 +2903,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2026 : /* fall through */ case 2042 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00a) - { itype = SH4A_INSN_FMOV5_COMPACT; sh4a_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FMOV5_COMPACT; sh4a_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1931 : /* fall through */ case 1947 : /* fall through */ case 1963 : /* fall through */ @@ -3125,9 +2913,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2027 : /* fall through */ case 2043 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00b) - { itype = SH4A_INSN_FMOV6_COMPACT; sh4a_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FMOV6_COMPACT; sh4a_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1932 : /* fall through */ case 1948 : /* fall through */ case 1964 : /* fall through */ @@ -3137,9 +2923,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2028 : /* fall through */ case 2044 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00c) - { itype = SH4A_INSN_FMOV1_COMPACT; sh4a_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FMOV1_COMPACT; sh4a_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1933 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3147,14 +2931,10 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf00d) - { itype = SH4A_INSN_FSTS_COMPACT; sh4a_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FSTS_COMPACT; sh4a_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf08d) - { itype = SH4A_INSN_FLDI0_COMPACT; sh4a_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FLDI0_COMPACT; sh4a_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3167,9 +2947,7 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, case 2030 : /* fall through */ case 2046 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00e) - { itype = SH4A_INSN_FMAC_COMPACT; sh4a_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FMAC_COMPACT; sh4a_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1949 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3177,14 +2955,10 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf01d) - { itype = SH4A_INSN_FLDS_COMPACT; sh4a_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FLDS_COMPACT; sh4a_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf09d) - { itype = SH4A_INSN_FLDI1_COMPACT; sh4a_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FLDI1_COMPACT; sh4a_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3215,14 +2989,10 @@ sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf06d) - { itype = SH4A_INSN_FSQRT_COMPACT; sh4a_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FSQRT_COMPACT; sh4a_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf0ed) - { itype = SH4A_INSN_FIPR_COMPACT; sh4a_extract_sfmt_fipr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_INSN_FIPR_COMPACT; sh4a_extract_sfmt_fipr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } diff --git a/sid/component/cgen-cpu/sh/sh4a-decode.h b/sid/component/cgen-cpu/sh/sh4a-decode.h index 64fcb18568..6d675a1c35 100644 --- a/sid/component/cgen-cpu/sh/sh4a-decode.h +++ b/sid/component/cgen-cpu/sh/sh4a-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-defs.h b/sid/component/cgen-cpu/sh/sh4a-defs.h index 10a1717a1d..01857fc9cd 100644 --- a/sid/component/cgen-cpu/sh/sh4a-defs.h +++ b/sid/component/cgen-cpu/sh/sh4a-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-model.cxx b/sid/component/cgen-cpu/sh/sh4a-model.cxx index ba41a0fd54..83ea856419 100644 --- a/sid/component/cgen-cpu/sh/sh4a-model.cxx +++ b/sid/component/cgen-cpu/sh/sh4a-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-model.h b/sid/component/cgen-cpu/sh/sh4a-model.h index e90ba64f57..bea2d2d008 100644 --- a/sid/component/cgen-cpu/sh/sh4a-model.h +++ b/sid/component/cgen-cpu/sh/sh4a-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-nofpu-cpu.h b/sid/component/cgen-cpu/sh/sh4a-nofpu-cpu.h index 8534d7019e..53a44d35ce 100644 --- a/sid/component/cgen-cpu/sh/sh4a-nofpu-cpu.h +++ b/sid/component/cgen-cpu/sh/sh4a-nofpu-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -103,7 +103,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh4a-nofpu-decode.cxx b/sid/component/cgen-cpu/sh/sh4a-nofpu-decode.cxx index 7191c11307..2fe46607c4 100644 --- a/sid/component/cgen-cpu/sh/sh4a-nofpu-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh4a-nofpu-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -426,9 +426,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 100 : /* fall through */ case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH4A_NOFPU_INSN_MOVB3_COMPACT; sh4a_nofpu_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVB3_COMPACT; sh4a_nofpu_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ @@ -438,9 +436,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 101 : /* fall through */ case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH4A_NOFPU_INSN_MOVW3_COMPACT; sh4a_nofpu_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW3_COMPACT; sh4a_nofpu_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ @@ -450,9 +446,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 102 : /* fall through */ case 118 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH4A_NOFPU_INSN_MOVL3_COMPACT; sh4a_nofpu_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL3_COMPACT; sh4a_nofpu_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ @@ -462,9 +456,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 103 : /* fall through */ case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH4A_NOFPU_INSN_MULL_COMPACT; sh4a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MULL_COMPACT; sh4a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : { unsigned int val = (((insn >> 22) & (1 << 0))); @@ -507,9 +499,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 108 : /* fall through */ case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH4A_NOFPU_INSN_MOVB8_COMPACT; sh4a_nofpu_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVB8_COMPACT; sh4a_nofpu_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ @@ -519,9 +509,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 109 : /* fall through */ case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH4A_NOFPU_INSN_MOVW8_COMPACT; sh4a_nofpu_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW8_COMPACT; sh4a_nofpu_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ @@ -531,9 +519,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 110 : /* fall through */ case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH4A_NOFPU_INSN_MOVL8_COMPACT; sh4a_nofpu_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL8_COMPACT; sh4a_nofpu_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ @@ -543,9 +529,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 111 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH4A_NOFPU_INSN_MACL_COMPACT; sh4a_nofpu_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MACL_COMPACT; sh4a_nofpu_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -616,14 +600,10 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x83) - { itype = SH4A_NOFPU_INSN_PREF_COMPACT; sh4a_nofpu_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_PREF_COMPACT; sh4a_nofpu_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xc3) - { itype = SH4A_NOFPU_INSN_MOVCAL_COMPACT; sh4a_nofpu_extract_sfmt_movcal_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVCAL_COMPACT; sh4a_nofpu_extract_sfmt_movcal_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -771,9 +751,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 254 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH4A_NOFPU_INSN_MOVL5_COMPACT; sh4a_nofpu_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL5_COMPACT; sh4a_nofpu_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : /* fall through */ case 272 : /* fall through */ case 288 : /* fall through */ @@ -783,9 +761,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 352 : /* fall through */ case 368 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH4A_NOFPU_INSN_MOVB1_COMPACT; sh4a_nofpu_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVB1_COMPACT; sh4a_nofpu_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 257 : /* fall through */ case 273 : /* fall through */ case 289 : /* fall through */ @@ -795,9 +771,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 353 : /* fall through */ case 369 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH4A_NOFPU_INSN_MOVW1_COMPACT; sh4a_nofpu_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW1_COMPACT; sh4a_nofpu_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 258 : /* fall through */ case 274 : /* fall through */ case 290 : /* fall through */ @@ -807,9 +781,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 354 : /* fall through */ case 370 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH4A_NOFPU_INSN_MOVL1_COMPACT; sh4a_nofpu_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL1_COMPACT; sh4a_nofpu_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 260 : /* fall through */ case 276 : /* fall through */ case 292 : /* fall through */ @@ -819,9 +791,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 356 : /* fall through */ case 372 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH4A_NOFPU_INSN_MOVB2_COMPACT; sh4a_nofpu_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVB2_COMPACT; sh4a_nofpu_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 261 : /* fall through */ case 277 : /* fall through */ case 293 : /* fall through */ @@ -831,9 +801,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 357 : /* fall through */ case 373 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH4A_NOFPU_INSN_MOVW2_COMPACT; sh4a_nofpu_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW2_COMPACT; sh4a_nofpu_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 262 : /* fall through */ case 278 : /* fall through */ case 294 : /* fall through */ @@ -843,9 +811,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 358 : /* fall through */ case 374 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH4A_NOFPU_INSN_MOVL2_COMPACT; sh4a_nofpu_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL2_COMPACT; sh4a_nofpu_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 263 : /* fall through */ case 279 : /* fall through */ case 295 : /* fall through */ @@ -855,9 +821,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 359 : /* fall through */ case 375 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH4A_NOFPU_INSN_DIV0S_COMPACT; sh4a_nofpu_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_DIV0S_COMPACT; sh4a_nofpu_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 280 : /* fall through */ case 296 : /* fall through */ @@ -867,9 +831,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 360 : /* fall through */ case 376 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH4A_NOFPU_INSN_TST_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_TST_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 265 : /* fall through */ case 281 : /* fall through */ case 297 : /* fall through */ @@ -879,9 +841,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 361 : /* fall through */ case 377 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH4A_NOFPU_INSN_AND_COMPACT; sh4a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_AND_COMPACT; sh4a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 266 : /* fall through */ case 282 : /* fall through */ case 298 : /* fall through */ @@ -891,9 +851,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 362 : /* fall through */ case 378 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH4A_NOFPU_INSN_XOR_COMPACT; sh4a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_XOR_COMPACT; sh4a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 267 : /* fall through */ case 283 : /* fall through */ case 299 : /* fall through */ @@ -903,9 +861,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 363 : /* fall through */ case 379 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH4A_NOFPU_INSN_OR_COMPACT; sh4a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_OR_COMPACT; sh4a_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 268 : /* fall through */ case 284 : /* fall through */ case 300 : /* fall through */ @@ -915,9 +871,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 364 : /* fall through */ case 380 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH4A_NOFPU_INSN_CMPSTR_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_CMPSTR_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 269 : /* fall through */ case 285 : /* fall through */ case 301 : /* fall through */ @@ -927,9 +881,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 365 : /* fall through */ case 381 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH4A_NOFPU_INSN_XTRCT_COMPACT; sh4a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_XTRCT_COMPACT; sh4a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : /* fall through */ case 286 : /* fall through */ case 302 : /* fall through */ @@ -939,9 +891,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 366 : /* fall through */ case 382 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH4A_NOFPU_INSN_MULUW_COMPACT; sh4a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MULUW_COMPACT; sh4a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 271 : /* fall through */ case 287 : /* fall through */ case 303 : /* fall through */ @@ -951,9 +901,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 367 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH4A_NOFPU_INSN_MULSW_COMPACT; sh4a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MULSW_COMPACT; sh4a_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ @@ -963,9 +911,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 480 : /* fall through */ case 496 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH4A_NOFPU_INSN_CMPEQ_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_CMPEQ_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ case 402 : /* fall through */ case 418 : /* fall through */ @@ -975,9 +921,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 482 : /* fall through */ case 498 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH4A_NOFPU_INSN_CMPHS_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_CMPHS_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ @@ -987,9 +931,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 483 : /* fall through */ case 499 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH4A_NOFPU_INSN_CMPGE_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_CMPGE_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ @@ -999,9 +941,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 484 : /* fall through */ case 500 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH4A_NOFPU_INSN_DIV1_COMPACT; sh4a_nofpu_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_DIV1_COMPACT; sh4a_nofpu_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ @@ -1011,9 +951,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 485 : /* fall through */ case 501 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH4A_NOFPU_INSN_DMULUL_COMPACT; sh4a_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_DMULUL_COMPACT; sh4a_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ @@ -1023,9 +961,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 486 : /* fall through */ case 502 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH4A_NOFPU_INSN_CMPHI_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_CMPHI_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ @@ -1035,9 +971,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 487 : /* fall through */ case 503 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH4A_NOFPU_INSN_CMPGT_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_CMPGT_COMPACT; sh4a_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ @@ -1047,9 +981,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 488 : /* fall through */ case 504 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH4A_NOFPU_INSN_SUB_COMPACT; sh4a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_SUB_COMPACT; sh4a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ @@ -1059,9 +991,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 490 : /* fall through */ case 506 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH4A_NOFPU_INSN_SUBC_COMPACT; sh4a_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_SUBC_COMPACT; sh4a_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ @@ -1071,9 +1001,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 491 : /* fall through */ case 507 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH4A_NOFPU_INSN_SUBV_COMPACT; sh4a_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_SUBV_COMPACT; sh4a_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ @@ -1083,9 +1011,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 492 : /* fall through */ case 508 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH4A_NOFPU_INSN_ADD_COMPACT; sh4a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_ADD_COMPACT; sh4a_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ @@ -1095,9 +1021,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 493 : /* fall through */ case 509 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH4A_NOFPU_INSN_DMULSL_COMPACT; sh4a_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_DMULSL_COMPACT; sh4a_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ @@ -1107,9 +1031,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 494 : /* fall through */ case 510 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH4A_NOFPU_INSN_ADDC_COMPACT; sh4a_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_ADDC_COMPACT; sh4a_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ @@ -1119,9 +1041,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 495 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH4A_NOFPU_INSN_ADDV_COMPACT; sh4a_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_ADDV_COMPACT; sh4a_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4000) @@ -1181,9 +1101,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 620 : /* fall through */ case 636 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400c) - { itype = SH4A_NOFPU_INSN_SHAD_COMPACT; sh4a_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_SHAD_COMPACT; sh4a_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 525 : /* fall through */ case 541 : /* fall through */ case 557 : /* fall through */ @@ -1193,9 +1111,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 621 : /* fall through */ case 637 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400d) - { itype = SH4A_NOFPU_INSN_SHLD_COMPACT; sh4a_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_SHLD_COMPACT; sh4a_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 526 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x400e) @@ -1210,9 +1126,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 623 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH4A_NOFPU_INSN_MACW_COMPACT; sh4a_nofpu_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MACW_COMPACT; sh4a_nofpu_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1345,14 +1259,10 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x40a9) - { itype = SH4A_NOFPU_INSN_MOVUAL_COMPACT; sh4a_nofpu_extract_sfmt_movual_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVUAL_COMPACT; sh4a_nofpu_extract_sfmt_movual_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x40e9) - { itype = SH4A_NOFPU_INSN_MOVUAL2_COMPACT; sh4a_nofpu_extract_sfmt_movual2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVUAL2_COMPACT; sh4a_nofpu_extract_sfmt_movual2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1485,9 +1395,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH4A_NOFPU_INSN_MOVL11_COMPACT; sh4a_nofpu_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL11_COMPACT; sh4a_nofpu_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 784 : /* fall through */ case 800 : /* fall through */ @@ -1497,9 +1405,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 864 : /* fall through */ case 880 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH4A_NOFPU_INSN_MOVB6_COMPACT; sh4a_nofpu_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVB6_COMPACT; sh4a_nofpu_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 785 : /* fall through */ case 801 : /* fall through */ @@ -1509,9 +1415,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 865 : /* fall through */ case 881 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH4A_NOFPU_INSN_MOVW6_COMPACT; sh4a_nofpu_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW6_COMPACT; sh4a_nofpu_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 770 : /* fall through */ case 786 : /* fall through */ case 802 : /* fall through */ @@ -1521,9 +1425,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 866 : /* fall through */ case 882 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH4A_NOFPU_INSN_MOVL6_COMPACT; sh4a_nofpu_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL6_COMPACT; sh4a_nofpu_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 771 : /* fall through */ case 787 : /* fall through */ case 803 : /* fall through */ @@ -1533,9 +1435,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 867 : /* fall through */ case 883 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH4A_NOFPU_INSN_MOV_COMPACT; sh4a_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOV_COMPACT; sh4a_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 772 : /* fall through */ case 788 : /* fall through */ case 804 : /* fall through */ @@ -1545,9 +1445,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 868 : /* fall through */ case 884 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH4A_NOFPU_INSN_MOVB7_COMPACT; sh4a_nofpu_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVB7_COMPACT; sh4a_nofpu_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 773 : /* fall through */ case 789 : /* fall through */ case 805 : /* fall through */ @@ -1557,9 +1455,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 869 : /* fall through */ case 885 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH4A_NOFPU_INSN_MOVW7_COMPACT; sh4a_nofpu_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW7_COMPACT; sh4a_nofpu_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 774 : /* fall through */ case 790 : /* fall through */ case 806 : /* fall through */ @@ -1569,9 +1465,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 870 : /* fall through */ case 886 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH4A_NOFPU_INSN_MOVL7_COMPACT; sh4a_nofpu_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL7_COMPACT; sh4a_nofpu_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 775 : /* fall through */ case 791 : /* fall through */ case 807 : /* fall through */ @@ -1581,9 +1475,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 871 : /* fall through */ case 887 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH4A_NOFPU_INSN_NOT_COMPACT; sh4a_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_NOT_COMPACT; sh4a_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 776 : /* fall through */ case 792 : /* fall through */ case 808 : /* fall through */ @@ -1593,9 +1485,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 872 : /* fall through */ case 888 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH4A_NOFPU_INSN_SWAPB_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_SWAPB_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 777 : /* fall through */ case 793 : /* fall through */ case 809 : /* fall through */ @@ -1605,9 +1495,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 873 : /* fall through */ case 889 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH4A_NOFPU_INSN_SWAPW_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_SWAPW_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 778 : /* fall through */ case 794 : /* fall through */ case 810 : /* fall through */ @@ -1617,9 +1505,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 874 : /* fall through */ case 890 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH4A_NOFPU_INSN_NEGC_COMPACT; sh4a_nofpu_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_NEGC_COMPACT; sh4a_nofpu_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 779 : /* fall through */ case 795 : /* fall through */ case 811 : /* fall through */ @@ -1629,9 +1515,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 875 : /* fall through */ case 891 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH4A_NOFPU_INSN_NEG_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_NEG_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 780 : /* fall through */ case 796 : /* fall through */ case 812 : /* fall through */ @@ -1641,9 +1525,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 876 : /* fall through */ case 892 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH4A_NOFPU_INSN_EXTUB_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_EXTUB_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 781 : /* fall through */ case 797 : /* fall through */ case 813 : /* fall through */ @@ -1653,9 +1535,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 877 : /* fall through */ case 893 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH4A_NOFPU_INSN_EXTUW_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_EXTUW_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 782 : /* fall through */ case 798 : /* fall through */ case 814 : /* fall through */ @@ -1665,9 +1545,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 878 : /* fall through */ case 894 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH4A_NOFPU_INSN_EXTSB_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_EXTSB_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 783 : /* fall through */ case 799 : /* fall through */ case 815 : /* fall through */ @@ -1677,9 +1555,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 879 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH4A_NOFPU_INSN_EXTSW_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_EXTSW_COMPACT; sh4a_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -1809,9 +1685,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 1022 : /* fall through */ case 1023 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH4A_NOFPU_INSN_ADDI_COMPACT; sh4a_nofpu_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_ADDI_COMPACT; sh4a_nofpu_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ @@ -1946,49 +1820,31 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH4A_NOFPU_INSN_MOVB5_COMPACT; sh4a_nofpu_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVB5_COMPACT; sh4a_nofpu_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH4A_NOFPU_INSN_MOVW5_COMPACT; sh4a_nofpu_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW5_COMPACT; sh4a_nofpu_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH4A_NOFPU_INSN_MOVB10_COMPACT; sh4a_nofpu_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVB10_COMPACT; sh4a_nofpu_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH4A_NOFPU_INSN_MOVW11_COMPACT; sh4a_nofpu_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW11_COMPACT; sh4a_nofpu_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH4A_NOFPU_INSN_CMPEQI_COMPACT; sh4a_nofpu_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_CMPEQI_COMPACT; sh4a_nofpu_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH4A_NOFPU_INSN_BT_COMPACT; sh4a_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_BT_COMPACT; sh4a_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH4A_NOFPU_INSN_BF_COMPACT; sh4a_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_BF_COMPACT; sh4a_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH4A_NOFPU_INSN_BTS_COMPACT; sh4a_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_BTS_COMPACT; sh4a_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH4A_NOFPU_INSN_BFS_COMPACT; sh4a_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_BFS_COMPACT; sh4a_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2121,9 +1977,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 1278 : /* fall through */ case 1279 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH4A_NOFPU_INSN_MOVW10_COMPACT; sh4a_nofpu_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW10_COMPACT; sh4a_nofpu_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ @@ -2253,9 +2107,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 1406 : /* fall through */ case 1407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH4A_NOFPU_INSN_BRA_COMPACT; sh4a_nofpu_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_BRA_COMPACT; sh4a_nofpu_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ @@ -2385,9 +2237,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 1534 : /* fall through */ case 1535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH4A_NOFPU_INSN_BSR_COMPACT; sh4a_nofpu_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_BSR_COMPACT; sh4a_nofpu_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ @@ -2522,84 +2372,52 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH4A_NOFPU_INSN_MOVB4_COMPACT; sh4a_nofpu_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVB4_COMPACT; sh4a_nofpu_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH4A_NOFPU_INSN_MOVW4_COMPACT; sh4a_nofpu_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW4_COMPACT; sh4a_nofpu_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH4A_NOFPU_INSN_MOVL4_COMPACT; sh4a_nofpu_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL4_COMPACT; sh4a_nofpu_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH4A_NOFPU_INSN_TRAPA_COMPACT; sh4a_nofpu_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_TRAPA_COMPACT; sh4a_nofpu_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH4A_NOFPU_INSN_MOVB9_COMPACT; sh4a_nofpu_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVB9_COMPACT; sh4a_nofpu_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH4A_NOFPU_INSN_MOVW9_COMPACT; sh4a_nofpu_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVW9_COMPACT; sh4a_nofpu_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH4A_NOFPU_INSN_MOVL9_COMPACT; sh4a_nofpu_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL9_COMPACT; sh4a_nofpu_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH4A_NOFPU_INSN_MOVA_COMPACT; sh4a_nofpu_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVA_COMPACT; sh4a_nofpu_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH4A_NOFPU_INSN_TSTI_COMPACT; sh4a_nofpu_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_TSTI_COMPACT; sh4a_nofpu_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH4A_NOFPU_INSN_ANDI_COMPACT; sh4a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_ANDI_COMPACT; sh4a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH4A_NOFPU_INSN_XORI_COMPACT; sh4a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_XORI_COMPACT; sh4a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH4A_NOFPU_INSN_ORI_COMPACT; sh4a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_ORI_COMPACT; sh4a_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH4A_NOFPU_INSN_TSTB_COMPACT; sh4a_nofpu_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_TSTB_COMPACT; sh4a_nofpu_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH4A_NOFPU_INSN_ANDB_COMPACT; sh4a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_ANDB_COMPACT; sh4a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH4A_NOFPU_INSN_XORB_COMPACT; sh4a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_XORB_COMPACT; sh4a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH4A_NOFPU_INSN_ORB_COMPACT; sh4a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_ORB_COMPACT; sh4a_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2732,9 +2550,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 1790 : /* fall through */ case 1791 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH4A_NOFPU_INSN_MOVL10_COMPACT; sh4a_nofpu_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVL10_COMPACT; sh4a_nofpu_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ @@ -2864,9 +2680,7 @@ sh4a_nofpu_scache::decode (sh4a_nofpu_cpu* current_cpu, PCADDR pc, sh4a_nofpu_in case 1918 : /* fall through */ case 1919 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH4A_NOFPU_INSN_MOVI_COMPACT; sh4a_nofpu_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4A_NOFPU_INSN_X_INVALID; sh4a_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4A_NOFPU_INSN_MOVI_COMPACT; sh4a_nofpu_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2045 : { unsigned int val = (((insn >> 27) & (1 << 0))); diff --git a/sid/component/cgen-cpu/sh/sh4a-nofpu-decode.h b/sid/component/cgen-cpu/sh/sh4a-nofpu-decode.h index 3b5da2dae0..5dfb50bb2b 100644 --- a/sid/component/cgen-cpu/sh/sh4a-nofpu-decode.h +++ b/sid/component/cgen-cpu/sh/sh4a-nofpu-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-nofpu-defs.h b/sid/component/cgen-cpu/sh/sh4a-nofpu-defs.h index 3c51a9e5f4..94e789111a 100644 --- a/sid/component/cgen-cpu/sh/sh4a-nofpu-defs.h +++ b/sid/component/cgen-cpu/sh/sh4a-nofpu-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-nofpu-model.cxx b/sid/component/cgen-cpu/sh/sh4a-nofpu-model.cxx index 6de9d2bfc2..e27cf7799e 100644 --- a/sid/component/cgen-cpu/sh/sh4a-nofpu-model.cxx +++ b/sid/component/cgen-cpu/sh/sh4a-nofpu-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-nofpu-model.h b/sid/component/cgen-cpu/sh/sh4a-nofpu-model.h index 1444ce0d40..4100652e66 100644 --- a/sid/component/cgen-cpu/sh/sh4a-nofpu-model.h +++ b/sid/component/cgen-cpu/sh/sh4a-nofpu-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-nofpu-sem.cxx b/sid/component/cgen-cpu/sh/sh4a-nofpu-sem.cxx index ab2c79ca0a..d72437bfd1 100644 --- a/sid/component/cgen-cpu/sh/sh4a-nofpu-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh4a-nofpu-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-nofpu-write.cxx b/sid/component/cgen-cpu/sh/sh4a-nofpu-write.cxx index c7454bbc3e..1ed35244aa 100644 --- a/sid/component/cgen-cpu/sh/sh4a-nofpu-write.cxx +++ b/sid/component/cgen-cpu/sh/sh4a-nofpu-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-sem.cxx b/sid/component/cgen-cpu/sh/sh4a-sem.cxx index b9b7a05a3c..7ba1ccdd82 100644 --- a/sid/component/cgen-cpu/sh/sh4a-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh4a-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4a-write.cxx b/sid/component/cgen-cpu/sh/sh4a-write.cxx index f2e09c41b3..d31c2c5710 100644 --- a/sid/component/cgen-cpu/sh/sh4a-write.cxx +++ b/sid/component/cgen-cpu/sh/sh4a-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4al-cpu.h b/sid/component/cgen-cpu/sh/sh4al-cpu.h index ba3690bbc4..91e2f7be3a 100644 --- a/sid/component/cgen-cpu/sh/sh4al-cpu.h +++ b/sid/component/cgen-cpu/sh/sh4al-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -103,7 +103,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh4al-decode.cxx b/sid/component/cgen-cpu/sh/sh4al-decode.cxx index 20c83b3c46..9471ac69fc 100644 --- a/sid/component/cgen-cpu/sh/sh4al-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh4al-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -426,9 +426,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 100 : /* fall through */ case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH4AL_INSN_MOVB3_COMPACT; sh4al_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVB3_COMPACT; sh4al_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ @@ -438,9 +436,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 101 : /* fall through */ case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH4AL_INSN_MOVW3_COMPACT; sh4al_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW3_COMPACT; sh4al_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ @@ -450,9 +446,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 102 : /* fall through */ case 118 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH4AL_INSN_MOVL3_COMPACT; sh4al_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL3_COMPACT; sh4al_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ @@ -462,9 +456,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 103 : /* fall through */ case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH4AL_INSN_MULL_COMPACT; sh4al_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MULL_COMPACT; sh4al_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : { unsigned int val = (((insn >> 22) & (1 << 0))); @@ -507,9 +499,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 108 : /* fall through */ case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH4AL_INSN_MOVB8_COMPACT; sh4al_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVB8_COMPACT; sh4al_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ @@ -519,9 +509,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 109 : /* fall through */ case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH4AL_INSN_MOVW8_COMPACT; sh4al_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW8_COMPACT; sh4al_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ @@ -531,9 +519,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 110 : /* fall through */ case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH4AL_INSN_MOVL8_COMPACT; sh4al_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL8_COMPACT; sh4al_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ @@ -543,9 +529,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 111 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH4AL_INSN_MACL_COMPACT; sh4al_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MACL_COMPACT; sh4al_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -616,14 +600,10 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x83) - { itype = SH4AL_INSN_PREF_COMPACT; sh4al_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_PREF_COMPACT; sh4al_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xc3) - { itype = SH4AL_INSN_MOVCAL_COMPACT; sh4al_extract_sfmt_movcal_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVCAL_COMPACT; sh4al_extract_sfmt_movcal_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -771,9 +751,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 254 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH4AL_INSN_MOVL5_COMPACT; sh4al_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL5_COMPACT; sh4al_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : /* fall through */ case 272 : /* fall through */ case 288 : /* fall through */ @@ -783,9 +761,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 352 : /* fall through */ case 368 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH4AL_INSN_MOVB1_COMPACT; sh4al_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVB1_COMPACT; sh4al_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 257 : /* fall through */ case 273 : /* fall through */ case 289 : /* fall through */ @@ -795,9 +771,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 353 : /* fall through */ case 369 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH4AL_INSN_MOVW1_COMPACT; sh4al_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW1_COMPACT; sh4al_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 258 : /* fall through */ case 274 : /* fall through */ case 290 : /* fall through */ @@ -807,9 +781,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 354 : /* fall through */ case 370 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH4AL_INSN_MOVL1_COMPACT; sh4al_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL1_COMPACT; sh4al_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 260 : /* fall through */ case 276 : /* fall through */ case 292 : /* fall through */ @@ -819,9 +791,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 356 : /* fall through */ case 372 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH4AL_INSN_MOVB2_COMPACT; sh4al_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVB2_COMPACT; sh4al_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 261 : /* fall through */ case 277 : /* fall through */ case 293 : /* fall through */ @@ -831,9 +801,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 357 : /* fall through */ case 373 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH4AL_INSN_MOVW2_COMPACT; sh4al_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW2_COMPACT; sh4al_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 262 : /* fall through */ case 278 : /* fall through */ case 294 : /* fall through */ @@ -843,9 +811,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 358 : /* fall through */ case 374 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH4AL_INSN_MOVL2_COMPACT; sh4al_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL2_COMPACT; sh4al_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 263 : /* fall through */ case 279 : /* fall through */ case 295 : /* fall through */ @@ -855,9 +821,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 359 : /* fall through */ case 375 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH4AL_INSN_DIV0S_COMPACT; sh4al_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_DIV0S_COMPACT; sh4al_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 280 : /* fall through */ case 296 : /* fall through */ @@ -867,9 +831,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 360 : /* fall through */ case 376 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH4AL_INSN_TST_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_TST_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 265 : /* fall through */ case 281 : /* fall through */ case 297 : /* fall through */ @@ -879,9 +841,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 361 : /* fall through */ case 377 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH4AL_INSN_AND_COMPACT; sh4al_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_AND_COMPACT; sh4al_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 266 : /* fall through */ case 282 : /* fall through */ case 298 : /* fall through */ @@ -891,9 +851,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 362 : /* fall through */ case 378 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH4AL_INSN_XOR_COMPACT; sh4al_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_XOR_COMPACT; sh4al_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 267 : /* fall through */ case 283 : /* fall through */ case 299 : /* fall through */ @@ -903,9 +861,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 363 : /* fall through */ case 379 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH4AL_INSN_OR_COMPACT; sh4al_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_OR_COMPACT; sh4al_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 268 : /* fall through */ case 284 : /* fall through */ case 300 : /* fall through */ @@ -915,9 +871,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 364 : /* fall through */ case 380 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH4AL_INSN_CMPSTR_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_CMPSTR_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 269 : /* fall through */ case 285 : /* fall through */ case 301 : /* fall through */ @@ -927,9 +881,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 365 : /* fall through */ case 381 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH4AL_INSN_XTRCT_COMPACT; sh4al_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_XTRCT_COMPACT; sh4al_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : /* fall through */ case 286 : /* fall through */ case 302 : /* fall through */ @@ -939,9 +891,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 366 : /* fall through */ case 382 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH4AL_INSN_MULUW_COMPACT; sh4al_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MULUW_COMPACT; sh4al_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 271 : /* fall through */ case 287 : /* fall through */ case 303 : /* fall through */ @@ -951,9 +901,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 367 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH4AL_INSN_MULSW_COMPACT; sh4al_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MULSW_COMPACT; sh4al_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ @@ -963,9 +911,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 480 : /* fall through */ case 496 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH4AL_INSN_CMPEQ_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_CMPEQ_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ case 402 : /* fall through */ case 418 : /* fall through */ @@ -975,9 +921,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 482 : /* fall through */ case 498 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH4AL_INSN_CMPHS_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_CMPHS_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ @@ -987,9 +931,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 483 : /* fall through */ case 499 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH4AL_INSN_CMPGE_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_CMPGE_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ @@ -999,9 +941,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 484 : /* fall through */ case 500 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH4AL_INSN_DIV1_COMPACT; sh4al_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_DIV1_COMPACT; sh4al_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ @@ -1011,9 +951,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 485 : /* fall through */ case 501 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH4AL_INSN_DMULUL_COMPACT; sh4al_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_DMULUL_COMPACT; sh4al_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ @@ -1023,9 +961,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 486 : /* fall through */ case 502 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH4AL_INSN_CMPHI_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_CMPHI_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ @@ -1035,9 +971,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 487 : /* fall through */ case 503 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH4AL_INSN_CMPGT_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_CMPGT_COMPACT; sh4al_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ @@ -1047,9 +981,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 488 : /* fall through */ case 504 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH4AL_INSN_SUB_COMPACT; sh4al_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_SUB_COMPACT; sh4al_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ @@ -1059,9 +991,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 490 : /* fall through */ case 506 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH4AL_INSN_SUBC_COMPACT; sh4al_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_SUBC_COMPACT; sh4al_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ @@ -1071,9 +1001,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 491 : /* fall through */ case 507 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH4AL_INSN_SUBV_COMPACT; sh4al_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_SUBV_COMPACT; sh4al_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ @@ -1083,9 +1011,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 492 : /* fall through */ case 508 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH4AL_INSN_ADD_COMPACT; sh4al_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_ADD_COMPACT; sh4al_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ @@ -1095,9 +1021,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 493 : /* fall through */ case 509 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH4AL_INSN_DMULSL_COMPACT; sh4al_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_DMULSL_COMPACT; sh4al_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ @@ -1107,9 +1031,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 494 : /* fall through */ case 510 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH4AL_INSN_ADDC_COMPACT; sh4al_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_ADDC_COMPACT; sh4al_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ @@ -1119,9 +1041,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 495 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH4AL_INSN_ADDV_COMPACT; sh4al_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_ADDV_COMPACT; sh4al_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4000) @@ -1181,9 +1101,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 620 : /* fall through */ case 636 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400c) - { itype = SH4AL_INSN_SHAD_COMPACT; sh4al_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_SHAD_COMPACT; sh4al_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 525 : /* fall through */ case 541 : /* fall through */ case 557 : /* fall through */ @@ -1193,9 +1111,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 621 : /* fall through */ case 637 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400d) - { itype = SH4AL_INSN_SHLD_COMPACT; sh4al_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_SHLD_COMPACT; sh4al_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 526 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x400e) @@ -1210,9 +1126,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 623 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH4AL_INSN_MACW_COMPACT; sh4al_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MACW_COMPACT; sh4al_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1345,14 +1259,10 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x40a9) - { itype = SH4AL_INSN_MOVUAL_COMPACT; sh4al_extract_sfmt_movual_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVUAL_COMPACT; sh4al_extract_sfmt_movual_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x40e9) - { itype = SH4AL_INSN_MOVUAL2_COMPACT; sh4al_extract_sfmt_movual2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVUAL2_COMPACT; sh4al_extract_sfmt_movual2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1485,9 +1395,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH4AL_INSN_MOVL11_COMPACT; sh4al_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL11_COMPACT; sh4al_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 784 : /* fall through */ case 800 : /* fall through */ @@ -1497,9 +1405,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 864 : /* fall through */ case 880 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH4AL_INSN_MOVB6_COMPACT; sh4al_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVB6_COMPACT; sh4al_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 785 : /* fall through */ case 801 : /* fall through */ @@ -1509,9 +1415,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 865 : /* fall through */ case 881 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH4AL_INSN_MOVW6_COMPACT; sh4al_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW6_COMPACT; sh4al_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 770 : /* fall through */ case 786 : /* fall through */ case 802 : /* fall through */ @@ -1521,9 +1425,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 866 : /* fall through */ case 882 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH4AL_INSN_MOVL6_COMPACT; sh4al_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL6_COMPACT; sh4al_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 771 : /* fall through */ case 787 : /* fall through */ case 803 : /* fall through */ @@ -1533,9 +1435,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 867 : /* fall through */ case 883 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH4AL_INSN_MOV_COMPACT; sh4al_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOV_COMPACT; sh4al_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 772 : /* fall through */ case 788 : /* fall through */ case 804 : /* fall through */ @@ -1545,9 +1445,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 868 : /* fall through */ case 884 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH4AL_INSN_MOVB7_COMPACT; sh4al_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVB7_COMPACT; sh4al_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 773 : /* fall through */ case 789 : /* fall through */ case 805 : /* fall through */ @@ -1557,9 +1455,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 869 : /* fall through */ case 885 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH4AL_INSN_MOVW7_COMPACT; sh4al_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW7_COMPACT; sh4al_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 774 : /* fall through */ case 790 : /* fall through */ case 806 : /* fall through */ @@ -1569,9 +1465,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 870 : /* fall through */ case 886 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH4AL_INSN_MOVL7_COMPACT; sh4al_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL7_COMPACT; sh4al_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 775 : /* fall through */ case 791 : /* fall through */ case 807 : /* fall through */ @@ -1581,9 +1475,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 871 : /* fall through */ case 887 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH4AL_INSN_NOT_COMPACT; sh4al_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_NOT_COMPACT; sh4al_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 776 : /* fall through */ case 792 : /* fall through */ case 808 : /* fall through */ @@ -1593,9 +1485,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 872 : /* fall through */ case 888 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH4AL_INSN_SWAPB_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_SWAPB_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 777 : /* fall through */ case 793 : /* fall through */ case 809 : /* fall through */ @@ -1605,9 +1495,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 873 : /* fall through */ case 889 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH4AL_INSN_SWAPW_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_SWAPW_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 778 : /* fall through */ case 794 : /* fall through */ case 810 : /* fall through */ @@ -1617,9 +1505,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 874 : /* fall through */ case 890 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH4AL_INSN_NEGC_COMPACT; sh4al_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_NEGC_COMPACT; sh4al_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 779 : /* fall through */ case 795 : /* fall through */ case 811 : /* fall through */ @@ -1629,9 +1515,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 875 : /* fall through */ case 891 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH4AL_INSN_NEG_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_NEG_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 780 : /* fall through */ case 796 : /* fall through */ case 812 : /* fall through */ @@ -1641,9 +1525,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 876 : /* fall through */ case 892 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH4AL_INSN_EXTUB_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_EXTUB_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 781 : /* fall through */ case 797 : /* fall through */ case 813 : /* fall through */ @@ -1653,9 +1535,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 877 : /* fall through */ case 893 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH4AL_INSN_EXTUW_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_EXTUW_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 782 : /* fall through */ case 798 : /* fall through */ case 814 : /* fall through */ @@ -1665,9 +1545,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 878 : /* fall through */ case 894 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH4AL_INSN_EXTSB_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_EXTSB_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 783 : /* fall through */ case 799 : /* fall through */ case 815 : /* fall through */ @@ -1677,9 +1555,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 879 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH4AL_INSN_EXTSW_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_EXTSW_COMPACT; sh4al_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -1809,9 +1685,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 1022 : /* fall through */ case 1023 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH4AL_INSN_ADDI_COMPACT; sh4al_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_ADDI_COMPACT; sh4al_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ @@ -1946,49 +1820,31 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH4AL_INSN_MOVB5_COMPACT; sh4al_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVB5_COMPACT; sh4al_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH4AL_INSN_MOVW5_COMPACT; sh4al_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW5_COMPACT; sh4al_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH4AL_INSN_MOVB10_COMPACT; sh4al_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVB10_COMPACT; sh4al_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH4AL_INSN_MOVW11_COMPACT; sh4al_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW11_COMPACT; sh4al_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH4AL_INSN_CMPEQI_COMPACT; sh4al_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_CMPEQI_COMPACT; sh4al_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH4AL_INSN_BT_COMPACT; sh4al_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_BT_COMPACT; sh4al_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH4AL_INSN_BF_COMPACT; sh4al_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_BF_COMPACT; sh4al_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH4AL_INSN_BTS_COMPACT; sh4al_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_BTS_COMPACT; sh4al_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH4AL_INSN_BFS_COMPACT; sh4al_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_BFS_COMPACT; sh4al_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2121,9 +1977,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 1278 : /* fall through */ case 1279 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH4AL_INSN_MOVW10_COMPACT; sh4al_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW10_COMPACT; sh4al_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ @@ -2253,9 +2107,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 1406 : /* fall through */ case 1407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH4AL_INSN_BRA_COMPACT; sh4al_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_BRA_COMPACT; sh4al_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ @@ -2385,9 +2237,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 1534 : /* fall through */ case 1535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH4AL_INSN_BSR_COMPACT; sh4al_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_BSR_COMPACT; sh4al_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ @@ -2522,84 +2372,52 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH4AL_INSN_MOVB4_COMPACT; sh4al_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVB4_COMPACT; sh4al_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH4AL_INSN_MOVW4_COMPACT; sh4al_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW4_COMPACT; sh4al_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH4AL_INSN_MOVL4_COMPACT; sh4al_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL4_COMPACT; sh4al_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH4AL_INSN_TRAPA_COMPACT; sh4al_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_TRAPA_COMPACT; sh4al_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH4AL_INSN_MOVB9_COMPACT; sh4al_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVB9_COMPACT; sh4al_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH4AL_INSN_MOVW9_COMPACT; sh4al_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVW9_COMPACT; sh4al_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH4AL_INSN_MOVL9_COMPACT; sh4al_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL9_COMPACT; sh4al_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH4AL_INSN_MOVA_COMPACT; sh4al_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVA_COMPACT; sh4al_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH4AL_INSN_TSTI_COMPACT; sh4al_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_TSTI_COMPACT; sh4al_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH4AL_INSN_ANDI_COMPACT; sh4al_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_ANDI_COMPACT; sh4al_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH4AL_INSN_XORI_COMPACT; sh4al_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_XORI_COMPACT; sh4al_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH4AL_INSN_ORI_COMPACT; sh4al_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_ORI_COMPACT; sh4al_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH4AL_INSN_TSTB_COMPACT; sh4al_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_TSTB_COMPACT; sh4al_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH4AL_INSN_ANDB_COMPACT; sh4al_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_ANDB_COMPACT; sh4al_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH4AL_INSN_XORB_COMPACT; sh4al_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_XORB_COMPACT; sh4al_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH4AL_INSN_ORB_COMPACT; sh4al_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_ORB_COMPACT; sh4al_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2732,9 +2550,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 1790 : /* fall through */ case 1791 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH4AL_INSN_MOVL10_COMPACT; sh4al_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVL10_COMPACT; sh4al_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ @@ -2864,9 +2680,7 @@ sh4al_scache::decode (sh4al_cpu* current_cpu, PCADDR pc, sh4al_insn_word base_in case 1918 : /* fall through */ case 1919 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH4AL_INSN_MOVI_COMPACT; sh4al_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH4AL_INSN_X_INVALID; sh4al_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH4AL_INSN_MOVI_COMPACT; sh4al_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2045 : { unsigned int val = (((insn >> 27) & (1 << 0))); diff --git a/sid/component/cgen-cpu/sh/sh4al-decode.h b/sid/component/cgen-cpu/sh/sh4al-decode.h index b14dd8e8fb..223e1280d2 100644 --- a/sid/component/cgen-cpu/sh/sh4al-decode.h +++ b/sid/component/cgen-cpu/sh/sh4al-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4al-defs.h b/sid/component/cgen-cpu/sh/sh4al-defs.h index a628e4ccfa..efce2e4472 100644 --- a/sid/component/cgen-cpu/sh/sh4al-defs.h +++ b/sid/component/cgen-cpu/sh/sh4al-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4al-model.cxx b/sid/component/cgen-cpu/sh/sh4al-model.cxx index 919ec7f83e..8b97214042 100644 --- a/sid/component/cgen-cpu/sh/sh4al-model.cxx +++ b/sid/component/cgen-cpu/sh/sh4al-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4al-model.h b/sid/component/cgen-cpu/sh/sh4al-model.h index aa45074caf..0296dc2d54 100644 --- a/sid/component/cgen-cpu/sh/sh4al-model.h +++ b/sid/component/cgen-cpu/sh/sh4al-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4al-sem.cxx b/sid/component/cgen-cpu/sh/sh4al-sem.cxx index 9c9146ab43..ab1df02998 100644 --- a/sid/component/cgen-cpu/sh/sh4al-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh4al-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh4al-write.cxx b/sid/component/cgen-cpu/sh/sh4al-write.cxx index c43e8ff016..7e8c558a40 100644 --- a/sid/component/cgen-cpu/sh/sh4al-write.cxx +++ b/sid/component/cgen-cpu/sh/sh4al-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-compact-decode.cxx b/sid/component/cgen-cpu/sh/sh5-compact-decode.cxx index af5da1ad05..cc40bb265d 100644 --- a/sid/component/cgen-cpu/sh/sh5-compact-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh5-compact-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -532,10 +532,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 64 : /* fall through */ case 80 : /* fall through */ case 96 : /* fall through */ - case 112 : - if ((entire_insn & 0xf00f0000) == 0x0) - { itype = SH5_COMPACT_INSN_MOVI20_COMPACT; sh5_compact_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 112 : itype = SH5_COMPACT_INSN_MOVI20_COMPACT; sh5_compact_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -543,14 +540,10 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x3) - { itype = SH5_COMPACT_INSN_BSRF_COMPACT; sh5_compact_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_BSRF_COMPACT; sh5_compact_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x83) - { itype = SH5_COMPACT_INSN_PREF_COMPACT; sh5_compact_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_PREF_COMPACT; sh5_compact_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -563,9 +556,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 100 : /* fall through */ case 116 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x4) - { itype = SH5_COMPACT_INSN_MOVB3_COMPACT; sh5_compact_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVB3_COMPACT; sh5_compact_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : /* fall through */ case 21 : /* fall through */ case 37 : /* fall through */ @@ -575,9 +566,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 101 : /* fall through */ case 117 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x5) - { itype = SH5_COMPACT_INSN_MOVW3_COMPACT; sh5_compact_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW3_COMPACT; sh5_compact_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : /* fall through */ case 22 : /* fall through */ case 38 : /* fall through */ @@ -587,9 +576,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 102 : /* fall through */ case 118 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6) - { itype = SH5_COMPACT_INSN_MOVL3_COMPACT; sh5_compact_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL3_COMPACT; sh5_compact_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : /* fall through */ case 23 : /* fall through */ case 39 : /* fall through */ @@ -599,9 +586,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 103 : /* fall through */ case 119 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x7) - { itype = SH5_COMPACT_INSN_MULL_COMPACT; sh5_compact_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MULL_COMPACT; sh5_compact_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffff) == 0x8) @@ -631,9 +616,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 108 : /* fall through */ case 124 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xc) - { itype = SH5_COMPACT_INSN_MOVB8_COMPACT; sh5_compact_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVB8_COMPACT; sh5_compact_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : /* fall through */ case 29 : /* fall through */ case 45 : /* fall through */ @@ -643,9 +626,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 109 : /* fall through */ case 125 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xd) - { itype = SH5_COMPACT_INSN_MOVW8_COMPACT; sh5_compact_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW8_COMPACT; sh5_compact_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : /* fall through */ case 30 : /* fall through */ case 46 : /* fall through */ @@ -655,9 +636,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 110 : /* fall through */ case 126 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xe) - { itype = SH5_COMPACT_INSN_MOVL8_COMPACT; sh5_compact_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL8_COMPACT; sh5_compact_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : /* fall through */ case 31 : /* fall through */ case 47 : /* fall through */ @@ -667,9 +646,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 111 : /* fall through */ case 127 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf) - { itype = SH5_COMPACT_INSN_MACL_COMPACT; sh5_compact_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MACL_COMPACT; sh5_compact_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 18 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x12) @@ -707,14 +684,10 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x23) - { itype = SH5_COMPACT_INSN_BRAF_COMPACT; sh5_compact_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_BRAF_COMPACT; sh5_compact_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xa3) - { itype = SH5_COMPACT_INSN_OCBP_COMPACT; sh5_compact_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_OCBP_COMPACT; sh5_compact_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -902,9 +875,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 254 : /* fall through */ case 255 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x1000) - { itype = SH5_COMPACT_INSN_MOVL5_COMPACT; sh5_compact_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL5_COMPACT; sh5_compact_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 256 : /* fall through */ case 272 : /* fall through */ case 288 : /* fall through */ @@ -914,9 +885,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 352 : /* fall through */ case 368 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2000) - { itype = SH5_COMPACT_INSN_MOVB1_COMPACT; sh5_compact_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVB1_COMPACT; sh5_compact_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 257 : /* fall through */ case 273 : /* fall through */ case 289 : /* fall through */ @@ -926,9 +895,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 353 : /* fall through */ case 369 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2001) - { itype = SH5_COMPACT_INSN_MOVW1_COMPACT; sh5_compact_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW1_COMPACT; sh5_compact_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 258 : /* fall through */ case 274 : /* fall through */ case 290 : /* fall through */ @@ -938,9 +905,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 354 : /* fall through */ case 370 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2002) - { itype = SH5_COMPACT_INSN_MOVL1_COMPACT; sh5_compact_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL1_COMPACT; sh5_compact_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 260 : /* fall through */ case 276 : /* fall through */ case 292 : /* fall through */ @@ -950,9 +915,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 356 : /* fall through */ case 372 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2004) - { itype = SH5_COMPACT_INSN_MOVB2_COMPACT; sh5_compact_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVB2_COMPACT; sh5_compact_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 261 : /* fall through */ case 277 : /* fall through */ case 293 : /* fall through */ @@ -962,9 +925,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 357 : /* fall through */ case 373 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2005) - { itype = SH5_COMPACT_INSN_MOVW2_COMPACT; sh5_compact_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW2_COMPACT; sh5_compact_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 262 : /* fall through */ case 278 : /* fall through */ case 294 : /* fall through */ @@ -974,9 +935,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 358 : /* fall through */ case 374 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2006) - { itype = SH5_COMPACT_INSN_MOVL2_COMPACT; sh5_compact_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL2_COMPACT; sh5_compact_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 263 : /* fall through */ case 279 : /* fall through */ case 295 : /* fall through */ @@ -986,9 +945,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 359 : /* fall through */ case 375 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2007) - { itype = SH5_COMPACT_INSN_DIV0S_COMPACT; sh5_compact_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_DIV0S_COMPACT; sh5_compact_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 280 : /* fall through */ case 296 : /* fall through */ @@ -998,9 +955,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 360 : /* fall through */ case 376 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2008) - { itype = SH5_COMPACT_INSN_TST_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_TST_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 265 : /* fall through */ case 281 : /* fall through */ case 297 : /* fall through */ @@ -1010,9 +965,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 361 : /* fall through */ case 377 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x2009) - { itype = SH5_COMPACT_INSN_AND_COMPACT; sh5_compact_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_AND_COMPACT; sh5_compact_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 266 : /* fall through */ case 282 : /* fall through */ case 298 : /* fall through */ @@ -1022,9 +975,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 362 : /* fall through */ case 378 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200a) - { itype = SH5_COMPACT_INSN_XOR_COMPACT; sh5_compact_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_XOR_COMPACT; sh5_compact_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 267 : /* fall through */ case 283 : /* fall through */ case 299 : /* fall through */ @@ -1034,9 +985,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 363 : /* fall through */ case 379 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200b) - { itype = SH5_COMPACT_INSN_OR_COMPACT; sh5_compact_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_OR_COMPACT; sh5_compact_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 268 : /* fall through */ case 284 : /* fall through */ case 300 : /* fall through */ @@ -1046,9 +995,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 364 : /* fall through */ case 380 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200c) - { itype = SH5_COMPACT_INSN_CMPSTR_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_CMPSTR_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 269 : /* fall through */ case 285 : /* fall through */ case 301 : /* fall through */ @@ -1058,9 +1005,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 365 : /* fall through */ case 381 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200d) - { itype = SH5_COMPACT_INSN_XTRCT_COMPACT; sh5_compact_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_XTRCT_COMPACT; sh5_compact_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 270 : /* fall through */ case 286 : /* fall through */ case 302 : /* fall through */ @@ -1070,9 +1015,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 366 : /* fall through */ case 382 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200e) - { itype = SH5_COMPACT_INSN_MULUW_COMPACT; sh5_compact_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MULUW_COMPACT; sh5_compact_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 271 : /* fall through */ case 287 : /* fall through */ case 303 : /* fall through */ @@ -1082,9 +1025,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 367 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x200f) - { itype = SH5_COMPACT_INSN_MULSW_COMPACT; sh5_compact_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MULSW_COMPACT; sh5_compact_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 400 : /* fall through */ case 416 : /* fall through */ @@ -1094,9 +1035,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 480 : /* fall through */ case 496 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3000) - { itype = SH5_COMPACT_INSN_CMPEQ_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_CMPEQ_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 385 : /* fall through */ case 417 : /* fall through */ case 449 : /* fall through */ @@ -1133,9 +1072,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 482 : /* fall through */ case 498 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3002) - { itype = SH5_COMPACT_INSN_CMPHS_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_CMPHS_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 387 : /* fall through */ case 403 : /* fall through */ case 419 : /* fall through */ @@ -1145,9 +1082,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 483 : /* fall through */ case 499 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3003) - { itype = SH5_COMPACT_INSN_CMPGE_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_CMPGE_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 404 : /* fall through */ case 420 : /* fall through */ @@ -1157,9 +1092,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 484 : /* fall through */ case 500 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3004) - { itype = SH5_COMPACT_INSN_DIV1_COMPACT; sh5_compact_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_DIV1_COMPACT; sh5_compact_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 389 : /* fall through */ case 405 : /* fall through */ case 421 : /* fall through */ @@ -1169,9 +1102,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 485 : /* fall through */ case 501 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3005) - { itype = SH5_COMPACT_INSN_DMULUL_COMPACT; sh5_compact_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_DMULUL_COMPACT; sh5_compact_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 390 : /* fall through */ case 406 : /* fall through */ case 422 : /* fall through */ @@ -1181,9 +1112,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 486 : /* fall through */ case 502 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3006) - { itype = SH5_COMPACT_INSN_CMPHI_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_CMPHI_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 391 : /* fall through */ case 407 : /* fall through */ case 423 : /* fall through */ @@ -1193,9 +1122,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 487 : /* fall through */ case 503 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3007) - { itype = SH5_COMPACT_INSN_CMPGT_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_CMPGT_COMPACT; sh5_compact_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 392 : /* fall through */ case 408 : /* fall through */ case 424 : /* fall through */ @@ -1205,9 +1132,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 488 : /* fall through */ case 504 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x3008) - { itype = SH5_COMPACT_INSN_SUB_COMPACT; sh5_compact_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_SUB_COMPACT; sh5_compact_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 394 : /* fall through */ case 410 : /* fall through */ case 426 : /* fall through */ @@ -1217,9 +1142,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 490 : /* fall through */ case 506 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300a) - { itype = SH5_COMPACT_INSN_SUBC_COMPACT; sh5_compact_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_SUBC_COMPACT; sh5_compact_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 395 : /* fall through */ case 411 : /* fall through */ case 427 : /* fall through */ @@ -1229,9 +1152,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 491 : /* fall through */ case 507 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300b) - { itype = SH5_COMPACT_INSN_SUBV_COMPACT; sh5_compact_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_SUBV_COMPACT; sh5_compact_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 396 : /* fall through */ case 412 : /* fall through */ case 428 : /* fall through */ @@ -1241,9 +1162,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 492 : /* fall through */ case 508 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300c) - { itype = SH5_COMPACT_INSN_ADD_COMPACT; sh5_compact_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_ADD_COMPACT; sh5_compact_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 397 : /* fall through */ case 413 : /* fall through */ case 429 : /* fall through */ @@ -1253,9 +1172,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 493 : /* fall through */ case 509 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300d) - { itype = SH5_COMPACT_INSN_DMULSL_COMPACT; sh5_compact_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_DMULSL_COMPACT; sh5_compact_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 398 : /* fall through */ case 414 : /* fall through */ case 430 : /* fall through */ @@ -1265,9 +1182,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 494 : /* fall through */ case 510 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300e) - { itype = SH5_COMPACT_INSN_ADDC_COMPACT; sh5_compact_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_ADDC_COMPACT; sh5_compact_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 399 : /* fall through */ case 415 : /* fall through */ case 431 : /* fall through */ @@ -1277,9 +1192,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 495 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x300f) - { itype = SH5_COMPACT_INSN_ADDV_COMPACT; sh5_compact_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_ADDV_COMPACT; sh5_compact_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 401 : /* fall through */ case 433 : /* fall through */ case 465 : /* fall through */ @@ -1310,14 +1223,10 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4000) - { itype = SH5_COMPACT_INSN_SHLL_COMPACT; sh5_compact_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_SHLL_COMPACT; sh5_compact_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4080) - { itype = SH5_COMPACT_INSN_MULR_COMPACT; sh5_compact_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MULR_COMPACT; sh5_compact_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1338,14 +1247,10 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4004) - { itype = SH5_COMPACT_INSN_ROTL_COMPACT; sh5_compact_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_ROTL_COMPACT; sh5_compact_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4084) - { itype = SH5_COMPACT_INSN_DIVU_COMPACT; sh5_compact_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_DIVU_COMPACT; sh5_compact_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1388,9 +1293,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 620 : /* fall through */ case 636 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400c) - { itype = SH5_COMPACT_INSN_SHAD_COMPACT; sh5_compact_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_SHAD_COMPACT; sh5_compact_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 525 : /* fall through */ case 541 : /* fall through */ case 557 : /* fall through */ @@ -1400,9 +1303,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 621 : /* fall through */ case 637 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400d) - { itype = SH5_COMPACT_INSN_SHLD_COMPACT; sh5_compact_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_SHLD_COMPACT; sh5_compact_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 526 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x400e) @@ -1417,9 +1318,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 623 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x400f) - { itype = SH5_COMPACT_INSN_MACW_COMPACT; sh5_compact_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MACW_COMPACT; sh5_compact_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf0ff) == 0x4010) @@ -1532,14 +1431,10 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x4029) - { itype = SH5_COMPACT_INSN_SHLR16_COMPACT; sh5_compact_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_SHLR16_COMPACT; sh5_compact_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0x40a9) - { itype = SH5_COMPACT_INSN_MOVUAL_COMPACT; sh5_compact_extract_sfmt_movual_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVUAL_COMPACT; sh5_compact_extract_sfmt_movual_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1722,9 +1617,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x5000) - { itype = SH5_COMPACT_INSN_MOVL11_COMPACT; sh5_compact_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL11_COMPACT; sh5_compact_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 784 : /* fall through */ case 800 : /* fall through */ @@ -1734,9 +1627,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 864 : /* fall through */ case 880 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6000) - { itype = SH5_COMPACT_INSN_MOVB6_COMPACT; sh5_compact_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVB6_COMPACT; sh5_compact_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 785 : /* fall through */ case 801 : /* fall through */ @@ -1746,9 +1637,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 865 : /* fall through */ case 881 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6001) - { itype = SH5_COMPACT_INSN_MOVW6_COMPACT; sh5_compact_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW6_COMPACT; sh5_compact_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 770 : /* fall through */ case 786 : /* fall through */ case 802 : /* fall through */ @@ -1758,9 +1647,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 866 : /* fall through */ case 882 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6002) - { itype = SH5_COMPACT_INSN_MOVL6_COMPACT; sh5_compact_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL6_COMPACT; sh5_compact_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 771 : /* fall through */ case 787 : /* fall through */ case 803 : /* fall through */ @@ -1770,9 +1657,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 867 : /* fall through */ case 883 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6003) - { itype = SH5_COMPACT_INSN_MOV_COMPACT; sh5_compact_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOV_COMPACT; sh5_compact_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 772 : /* fall through */ case 788 : /* fall through */ case 804 : /* fall through */ @@ -1782,9 +1667,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 868 : /* fall through */ case 884 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6004) - { itype = SH5_COMPACT_INSN_MOVB7_COMPACT; sh5_compact_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVB7_COMPACT; sh5_compact_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 773 : /* fall through */ case 789 : /* fall through */ case 805 : /* fall through */ @@ -1794,9 +1677,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 869 : /* fall through */ case 885 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6005) - { itype = SH5_COMPACT_INSN_MOVW7_COMPACT; sh5_compact_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW7_COMPACT; sh5_compact_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 774 : /* fall through */ case 790 : /* fall through */ case 806 : /* fall through */ @@ -1806,9 +1687,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 870 : /* fall through */ case 886 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6006) - { itype = SH5_COMPACT_INSN_MOVL7_COMPACT; sh5_compact_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL7_COMPACT; sh5_compact_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 775 : /* fall through */ case 791 : /* fall through */ case 807 : /* fall through */ @@ -1818,9 +1697,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 871 : /* fall through */ case 887 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6007) - { itype = SH5_COMPACT_INSN_NOT_COMPACT; sh5_compact_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_NOT_COMPACT; sh5_compact_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 776 : /* fall through */ case 792 : /* fall through */ case 808 : /* fall through */ @@ -1830,9 +1707,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 872 : /* fall through */ case 888 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6008) - { itype = SH5_COMPACT_INSN_SWAPB_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_SWAPB_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 777 : /* fall through */ case 793 : /* fall through */ case 809 : /* fall through */ @@ -1842,9 +1717,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 873 : /* fall through */ case 889 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x6009) - { itype = SH5_COMPACT_INSN_SWAPW_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_SWAPW_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 778 : /* fall through */ case 794 : /* fall through */ case 810 : /* fall through */ @@ -1854,9 +1727,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 874 : /* fall through */ case 890 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600a) - { itype = SH5_COMPACT_INSN_NEGC_COMPACT; sh5_compact_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_NEGC_COMPACT; sh5_compact_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 779 : /* fall through */ case 795 : /* fall through */ case 811 : /* fall through */ @@ -1866,9 +1737,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 875 : /* fall through */ case 891 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600b) - { itype = SH5_COMPACT_INSN_NEG_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_NEG_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 780 : /* fall through */ case 796 : /* fall through */ case 812 : /* fall through */ @@ -1878,9 +1747,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 876 : /* fall through */ case 892 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600c) - { itype = SH5_COMPACT_INSN_EXTUB_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_EXTUB_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 781 : /* fall through */ case 797 : /* fall through */ case 813 : /* fall through */ @@ -1890,9 +1757,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 877 : /* fall through */ case 893 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600d) - { itype = SH5_COMPACT_INSN_EXTUW_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_EXTUW_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 782 : /* fall through */ case 798 : /* fall through */ case 814 : /* fall through */ @@ -1902,9 +1767,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 878 : /* fall through */ case 894 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600e) - { itype = SH5_COMPACT_INSN_EXTSB_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_EXTSB_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 783 : /* fall through */ case 799 : /* fall through */ case 815 : /* fall through */ @@ -1914,9 +1777,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 879 : /* fall through */ case 895 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0x600f) - { itype = SH5_COMPACT_INSN_EXTSW_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_EXTSW_COMPACT; sh5_compact_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 897 : /* fall through */ case 898 : /* fall through */ @@ -2046,9 +1907,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 1022 : /* fall through */ case 1023 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x7000) - { itype = SH5_COMPACT_INSN_ADDI_COMPACT; sh5_compact_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_ADDI_COMPACT; sh5_compact_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ @@ -2183,49 +2042,31 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8000) - { itype = SH5_COMPACT_INSN_MOVB5_COMPACT; sh5_compact_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVB5_COMPACT; sh5_compact_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8100) - { itype = SH5_COMPACT_INSN_MOVW5_COMPACT; sh5_compact_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW5_COMPACT; sh5_compact_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8400) - { itype = SH5_COMPACT_INSN_MOVB10_COMPACT; sh5_compact_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVB10_COMPACT; sh5_compact_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8500) - { itype = SH5_COMPACT_INSN_MOVW11_COMPACT; sh5_compact_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW11_COMPACT; sh5_compact_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8800) - { itype = SH5_COMPACT_INSN_CMPEQI_COMPACT; sh5_compact_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_CMPEQI_COMPACT; sh5_compact_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8900) - { itype = SH5_COMPACT_INSN_BT_COMPACT; sh5_compact_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_BT_COMPACT; sh5_compact_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8b00) - { itype = SH5_COMPACT_INSN_BF_COMPACT; sh5_compact_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_BF_COMPACT; sh5_compact_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8d00) - { itype = SH5_COMPACT_INSN_BTS_COMPACT; sh5_compact_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_BTS_COMPACT; sh5_compact_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x8f00) - { itype = SH5_COMPACT_INSN_BFS_COMPACT; sh5_compact_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_BFS_COMPACT; sh5_compact_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2358,9 +2199,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 1278 : /* fall through */ case 1279 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = SH5_COMPACT_INSN_MOVW10_COMPACT; sh5_compact_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW10_COMPACT; sh5_compact_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ @@ -2490,9 +2329,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 1406 : /* fall through */ case 1407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = SH5_COMPACT_INSN_BRA_COMPACT; sh5_compact_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_BRA_COMPACT; sh5_compact_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ @@ -2622,9 +2459,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 1534 : /* fall through */ case 1535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = SH5_COMPACT_INSN_BSR_COMPACT; sh5_compact_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_BSR_COMPACT; sh5_compact_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ @@ -2759,84 +2594,52 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc000) - { itype = SH5_COMPACT_INSN_MOVB4_COMPACT; sh5_compact_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVB4_COMPACT; sh5_compact_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc100) - { itype = SH5_COMPACT_INSN_MOVW4_COMPACT; sh5_compact_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW4_COMPACT; sh5_compact_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc200) - { itype = SH5_COMPACT_INSN_MOVL4_COMPACT; sh5_compact_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL4_COMPACT; sh5_compact_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc300) - { itype = SH5_COMPACT_INSN_TRAPA_COMPACT; sh5_compact_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_TRAPA_COMPACT; sh5_compact_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 4 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc400) - { itype = SH5_COMPACT_INSN_MOVB9_COMPACT; sh5_compact_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVB9_COMPACT; sh5_compact_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc500) - { itype = SH5_COMPACT_INSN_MOVW9_COMPACT; sh5_compact_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVW9_COMPACT; sh5_compact_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 6 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc600) - { itype = SH5_COMPACT_INSN_MOVL9_COMPACT; sh5_compact_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL9_COMPACT; sh5_compact_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc700) - { itype = SH5_COMPACT_INSN_MOVA_COMPACT; sh5_compact_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVA_COMPACT; sh5_compact_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc800) - { itype = SH5_COMPACT_INSN_TSTI_COMPACT; sh5_compact_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_TSTI_COMPACT; sh5_compact_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 9 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xc900) - { itype = SH5_COMPACT_INSN_ANDI_COMPACT; sh5_compact_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_ANDI_COMPACT; sh5_compact_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 10 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xca00) - { itype = SH5_COMPACT_INSN_XORI_COMPACT; sh5_compact_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_XORI_COMPACT; sh5_compact_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 11 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcb00) - { itype = SH5_COMPACT_INSN_ORI_COMPACT; sh5_compact_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_ORI_COMPACT; sh5_compact_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 12 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcc00) - { itype = SH5_COMPACT_INSN_TSTB_COMPACT; sh5_compact_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_TSTB_COMPACT; sh5_compact_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 13 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcd00) - { itype = SH5_COMPACT_INSN_ANDB_COMPACT; sh5_compact_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_ANDB_COMPACT; sh5_compact_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 14 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xce00) - { itype = SH5_COMPACT_INSN_XORB_COMPACT; sh5_compact_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_XORB_COMPACT; sh5_compact_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xcf00) - { itype = SH5_COMPACT_INSN_ORB_COMPACT; sh5_compact_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_ORB_COMPACT; sh5_compact_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -2969,9 +2772,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 1790 : /* fall through */ case 1791 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = SH5_COMPACT_INSN_MOVL10_COMPACT; sh5_compact_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVL10_COMPACT; sh5_compact_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ @@ -3101,9 +2902,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 1918 : /* fall through */ case 1919 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xe000) - { itype = SH5_COMPACT_INSN_MOVI_COMPACT; sh5_compact_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_MOVI_COMPACT; sh5_compact_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1920 : /* fall through */ case 1936 : /* fall through */ case 1952 : /* fall through */ @@ -3113,9 +2912,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2016 : /* fall through */ case 2032 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf000) - { itype = SH5_COMPACT_INSN_FADD_COMPACT; sh5_compact_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FADD_COMPACT; sh5_compact_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1921 : /* fall through */ case 1937 : /* fall through */ case 1953 : /* fall through */ @@ -3125,9 +2922,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2017 : /* fall through */ case 2033 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf001) - { itype = SH5_COMPACT_INSN_FSUB_COMPACT; sh5_compact_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FSUB_COMPACT; sh5_compact_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1922 : /* fall through */ case 1938 : /* fall through */ case 1954 : /* fall through */ @@ -3137,9 +2932,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2018 : /* fall through */ case 2034 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf002) - { itype = SH5_COMPACT_INSN_FMUL_COMPACT; sh5_compact_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FMUL_COMPACT; sh5_compact_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1923 : /* fall through */ case 1939 : /* fall through */ case 1955 : /* fall through */ @@ -3149,9 +2942,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2019 : /* fall through */ case 2035 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf003) - { itype = SH5_COMPACT_INSN_FDIV_COMPACT; sh5_compact_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FDIV_COMPACT; sh5_compact_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1924 : /* fall through */ case 1940 : /* fall through */ case 1956 : /* fall through */ @@ -3161,9 +2952,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2020 : /* fall through */ case 2036 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf004) - { itype = SH5_COMPACT_INSN_FCMPEQ_COMPACT; sh5_compact_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FCMPEQ_COMPACT; sh5_compact_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1925 : /* fall through */ case 1941 : /* fall through */ case 1957 : /* fall through */ @@ -3173,9 +2962,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2021 : /* fall through */ case 2037 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf005) - { itype = SH5_COMPACT_INSN_FCMPGT_COMPACT; sh5_compact_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FCMPGT_COMPACT; sh5_compact_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1926 : /* fall through */ case 1942 : /* fall through */ case 1958 : /* fall through */ @@ -3185,9 +2972,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2022 : /* fall through */ case 2038 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf006) - { itype = SH5_COMPACT_INSN_FMOV4_COMPACT; sh5_compact_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FMOV4_COMPACT; sh5_compact_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1927 : /* fall through */ case 1943 : /* fall through */ case 1959 : /* fall through */ @@ -3197,9 +2982,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2023 : /* fall through */ case 2039 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf007) - { itype = SH5_COMPACT_INSN_FMOV7_COMPACT; sh5_compact_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FMOV7_COMPACT; sh5_compact_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1928 : /* fall through */ case 1944 : /* fall through */ case 1960 : /* fall through */ @@ -3209,9 +2992,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2024 : /* fall through */ case 2040 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf008) - { itype = SH5_COMPACT_INSN_FMOV2_COMPACT; sh5_compact_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FMOV2_COMPACT; sh5_compact_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1929 : /* fall through */ case 1945 : /* fall through */ case 1961 : /* fall through */ @@ -3221,9 +3002,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2025 : /* fall through */ case 2041 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf009) - { itype = SH5_COMPACT_INSN_FMOV3_COMPACT; sh5_compact_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FMOV3_COMPACT; sh5_compact_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1930 : /* fall through */ case 1946 : /* fall through */ case 1962 : /* fall through */ @@ -3233,9 +3012,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2026 : /* fall through */ case 2042 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00a) - { itype = SH5_COMPACT_INSN_FMOV5_COMPACT; sh5_compact_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FMOV5_COMPACT; sh5_compact_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1931 : /* fall through */ case 1947 : /* fall through */ case 1963 : /* fall through */ @@ -3245,9 +3022,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2027 : /* fall through */ case 2043 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00b) - { itype = SH5_COMPACT_INSN_FMOV6_COMPACT; sh5_compact_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FMOV6_COMPACT; sh5_compact_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1932 : /* fall through */ case 1948 : /* fall through */ case 1964 : /* fall through */ @@ -3257,9 +3032,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2028 : /* fall through */ case 2044 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00c) - { itype = SH5_COMPACT_INSN_FMOV1_COMPACT; sh5_compact_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FMOV1_COMPACT; sh5_compact_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1933 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3267,14 +3040,10 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf00d) - { itype = SH5_COMPACT_INSN_FSTS_COMPACT; sh5_compact_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FSTS_COMPACT; sh5_compact_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf08d) - { itype = SH5_COMPACT_INSN_FLDI0_COMPACT; sh5_compact_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FLDI0_COMPACT; sh5_compact_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3287,9 +3056,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo case 2030 : /* fall through */ case 2046 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf00f) == 0xf00e) - { itype = SH5_COMPACT_INSN_FMAC_COMPACT; sh5_compact_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FMAC_COMPACT; sh5_compact_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1949 : { unsigned int val = (((insn >> 23) & (1 << 0))); @@ -3297,14 +3064,10 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf01d) - { itype = SH5_COMPACT_INSN_FLDS_COMPACT; sh5_compact_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FLDS_COMPACT; sh5_compact_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf09d) - { itype = SH5_COMPACT_INSN_FLDI1_COMPACT; sh5_compact_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FLDI1_COMPACT; sh5_compact_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -3315,9 +3078,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf02d) - { itype = SH5_COMPACT_INSN_FLOAT_COMPACT; sh5_compact_extract_sfmt_float_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FLOAT_COMPACT; sh5_compact_extract_sfmt_float_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf1ff) == 0xf0ad) @@ -3333,9 +3094,7 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf03d) - { itype = SH5_COMPACT_INSN_FTRC_COMPACT; sh5_compact_extract_sfmt_ftrc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FTRC_COMPACT; sh5_compact_extract_sfmt_ftrc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xf1ff) == 0xf0bd) @@ -3361,14 +3120,10 @@ sh5_compact_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_compact_insn_wo { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf06d) - { itype = SH5_COMPACT_INSN_FSQRT_COMPACT; sh5_compact_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FSQRT_COMPACT; sh5_compact_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf0ff) == 0xf0ed) - { itype = SH5_COMPACT_INSN_FIPR_COMPACT; sh5_compact_extract_sfmt_fipr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = SH5_COMPACT_INSN_FIPR_COMPACT; sh5_compact_extract_sfmt_fipr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = SH5_COMPACT_INSN_X_INVALID; sh5_compact_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } diff --git a/sid/component/cgen-cpu/sh/sh5-compact-decode.h b/sid/component/cgen-cpu/sh/sh5-compact-decode.h index d29d585620..12a7b42a6e 100644 --- a/sid/component/cgen-cpu/sh/sh5-compact-decode.h +++ b/sid/component/cgen-cpu/sh/sh5-compact-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-compact-defs.h b/sid/component/cgen-cpu/sh/sh5-compact-defs.h index 8fcd436086..82ec6c6eeb 100644 --- a/sid/component/cgen-cpu/sh/sh5-compact-defs.h +++ b/sid/component/cgen-cpu/sh/sh5-compact-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-compact-model.cxx b/sid/component/cgen-cpu/sh/sh5-compact-model.cxx index 54c808ccc4..a785ec9aa8 100644 --- a/sid/component/cgen-cpu/sh/sh5-compact-model.cxx +++ b/sid/component/cgen-cpu/sh/sh5-compact-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-compact-model.h b/sid/component/cgen-cpu/sh/sh5-compact-model.h index 9529e05455..d6195ee0fb 100644 --- a/sid/component/cgen-cpu/sh/sh5-compact-model.h +++ b/sid/component/cgen-cpu/sh/sh5-compact-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-compact-sem.cxx b/sid/component/cgen-cpu/sh/sh5-compact-sem.cxx index 588441c908..9889e76295 100644 --- a/sid/component/cgen-cpu/sh/sh5-compact-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh5-compact-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-compact-write.cxx b/sid/component/cgen-cpu/sh/sh5-compact-write.cxx index ec1b3a84a1..2b162bfcbc 100644 --- a/sid/component/cgen-cpu/sh/sh5-compact-write.cxx +++ b/sid/component/cgen-cpu/sh/sh5-compact-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-cpu.h b/sid/component/cgen-cpu/sh/sh5-cpu.h index d430f10ab8..5b6bdff373 100644 --- a/sid/component/cgen-cpu/sh/sh5-cpu.h +++ b/sid/component/cgen-cpu/sh/sh5-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -123,7 +123,7 @@ current_cpu->hardware.h_pc = ANDDI (newval, INVDI (1)); } } - inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (0) : (current_cpu->hardware.h_gr[regno])); } + inline DI h_gr_get (UINT regno) const { return ((((regno) == (63))) ? (MAKEDI (0, 0)) : (current_cpu->hardware.h_gr[regno])); } inline void h_gr_set (UINT regno, DI newval) { if (((regno) != (63))) { current_cpu->hardware.h_gr[regno] = newval; } else { diff --git a/sid/component/cgen-cpu/sh/sh5-media-decode.cxx b/sid/component/cgen-cpu/sh/sh5-media-decode.cxx index 491bcdbaf4..73dd244cd4 100644 --- a/sid/component/cgen-cpu/sh/sh5-media-decode.cxx +++ b/sid/component/cgen-cpu/sh/sh5-media-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -363,8 +363,6 @@ sh5_media_extract_sfmt_mcmv (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADD static void sh5_media_extract_sfmt_movi (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn); static void -sh5_media_extract_sfmt_mpermw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn); -static void sh5_media_extract_sfmt_nop (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn); static void sh5_media_extract_sfmt_ori (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn); @@ -381,8 +379,6 @@ sh5_media_extract_sfmt_putcon (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCA static void sh5_media_extract_sfmt_shari (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn); static void -sh5_media_extract_sfmt_sharil (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn); -static void sh5_media_extract_sfmt_shori (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn); static void sh5_media_extract_sfmt_stb (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn); @@ -699,7 +695,7 @@ sh5_media_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word b itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 173 : if ((entire_insn & 0xfc0f000f) == 0x280d0000) - { itype = SH5_MEDIA_INSN_MPERMW; sh5_media_extract_sfmt_mpermw (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = SH5_MEDIA_INSN_MPERMW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 175 : if ((entire_insn & 0xfc0f000f) == 0x280f0000) @@ -1391,7 +1387,7 @@ sh5_media_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word b itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 784 : if ((entire_insn & 0xfc0f000f) == 0xc4000000) - { itype = SH5_MEDIA_INSN_SHLLIL; sh5_media_extract_sfmt_sharil (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = SH5_MEDIA_INSN_SHLLIL; sh5_media_extract_sfmt_shari (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 785 : if ((entire_insn & 0xfc0f000f) == 0xc4010000) @@ -1399,7 +1395,7 @@ sh5_media_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word b itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 786 : if ((entire_insn & 0xfc0f000f) == 0xc4020000) - { itype = SH5_MEDIA_INSN_SHLRIL; sh5_media_extract_sfmt_sharil (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = SH5_MEDIA_INSN_SHLRIL; sh5_media_extract_sfmt_shari (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 787 : if ((entire_insn & 0xfc0f000f) == 0xc4030000) @@ -1407,7 +1403,7 @@ sh5_media_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word b itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 790 : if ((entire_insn & 0xfc0f000f) == 0xc4060000) - { itype = SH5_MEDIA_INSN_SHARIL; sh5_media_extract_sfmt_sharil (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = SH5_MEDIA_INSN_SHARIL; sh5_media_extract_sfmt_shari (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 791 : if ((entire_insn & 0xfc0f000f) == 0xc4070000) @@ -3553,42 +3549,6 @@ sh5_media_extract_sfmt_movi (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADD } void -sh5_media_extract_sfmt_mpermw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){ - sh5_media_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_mcmv.f - UINT f_left; - UINT f_right; - UINT f_dest; - - f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); - f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); - f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); - - /* Record the fields for the semantic handler. */ - FLD (f_left) = f_left; - FLD (f_right) = f_right; - FLD (f_dest) = f_dest; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_mpermw)\t" - << " f_left:0x" << hex << f_left << dec - << " f_right:0x" << hex << f_right << dec - << " f_dest:0x" << hex << f_dest << dec - << endl; - } - - /* Record the fields for profiling. */ - if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) - { - FLD (in_rm) = f_left; - FLD (in_rn) = f_right; - FLD (out_rd) = f_dest; - } -#undef FLD -} - -void sh5_media_extract_sfmt_nop (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){ sh5_media_insn_word insn = entire_insn; #define FLD(f) abuf->fields.fmt_empty.f @@ -3845,41 +3805,6 @@ sh5_media_extract_sfmt_shari (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCAD } void -sh5_media_extract_sfmt_sharil (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){ - sh5_media_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_shari.f - UINT f_left; - UINT f_uimm6; - UINT f_dest; - - f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); - f_uimm6 = EXTRACT_MSB0_UINT (insn, 32, 16, 6); - f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); - - /* Record the fields for the semantic handler. */ - FLD (f_left) = f_left; - FLD (f_uimm6) = f_uimm6; - FLD (f_dest) = f_dest; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_sharil)\t" - << " f_left:0x" << hex << f_left << dec - << " f_uimm6:0x" << hex << f_uimm6 << dec - << " f_dest:0x" << hex << f_dest << dec - << endl; - } - - /* Record the fields for profiling. */ - if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p)) - { - FLD (in_rm) = f_left; - FLD (out_rd) = f_dest; - } -#undef FLD -} - -void sh5_media_extract_sfmt_shori (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){ sh5_media_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_shori.f diff --git a/sid/component/cgen-cpu/sh/sh5-media-decode.h b/sid/component/cgen-cpu/sh/sh5-media-decode.h index 5726711a22..e941a5f746 100644 --- a/sid/component/cgen-cpu/sh/sh5-media-decode.h +++ b/sid/component/cgen-cpu/sh/sh5-media-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-media-defs.h b/sid/component/cgen-cpu/sh/sh5-media-defs.h index 618ac89f09..b6ee194f9d 100644 --- a/sid/component/cgen-cpu/sh/sh5-media-defs.h +++ b/sid/component/cgen-cpu/sh/sh5-media-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-media-model.cxx b/sid/component/cgen-cpu/sh/sh5-media-model.cxx index 2c2c49e6e2..ab0de1d94a 100644 --- a/sid/component/cgen-cpu/sh/sh5-media-model.cxx +++ b/sid/component/cgen-cpu/sh/sh5-media-model.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-media-model.h b/sid/component/cgen-cpu/sh/sh5-media-model.h index 119a4c3999..b8dcb68994 100644 --- a/sid/component/cgen-cpu/sh/sh5-media-model.h +++ b/sid/component/cgen-cpu/sh/sh5-media-model.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-media-sem.cxx b/sid/component/cgen-cpu/sh/sh5-media-sem.cxx index aece5d7473..c5e8a9b2ef 100644 --- a/sid/component/cgen-cpu/sh/sh5-media-sem.cxx +++ b/sid/component/cgen-cpu/sh/sh5-media-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/sh/sh5-media-write.cxx b/sid/component/cgen-cpu/sh/sh5-media-write.cxx index 962cc867ad..7b01bcc3d4 100644 --- a/sid/component/cgen-cpu/sh/sh5-media-write.cxx +++ b/sid/component/cgen-cpu/sh/sh5-media-write.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/tracedis.h b/sid/component/cgen-cpu/tracedis.h index c70f16c245..371345cf67 100644 --- a/sid/component/cgen-cpu/tracedis.h +++ b/sid/component/cgen-cpu/tracedis.h @@ -1,6 +1,6 @@ #include "bfd.h" #include "dis-asm.h" -#include "opcode/cgen-bitset.h" +#include "cgen/bitset.h" // ansidecl.h interferes with this perfectly ordinary word #undef AND diff --git a/sid/component/cgen-cpu/xstormy16/ChangeLog b/sid/component/cgen-cpu/xstormy16/ChangeLog index 0d24e3d448..16d3be4457 100644 --- a/sid/component/cgen-cpu/xstormy16/ChangeLog +++ b/sid/component/cgen-cpu/xstormy16/ChangeLog @@ -1,3 +1,8 @@ +2009-10-23 Doug Evans + + * xstormy16-desc.h: Regenerate. + * xstormy16-decode.cxx: Regenerate. + 2008-06-17 Dave Brolley * xstormy16.h (xstormy16_cpu_cgen): Now inherits from diff --git a/sid/component/cgen-cpu/xstormy16/xstormy16-cpu.h b/sid/component/cgen-cpu/xstormy16/xstormy16-cpu.h index b546e37fc4..510e253f4f 100644 --- a/sid/component/cgen-cpu/xstormy16/xstormy16-cpu.h +++ b/sid/component/cgen-cpu/xstormy16/xstormy16-cpu.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2007 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/xstormy16/xstormy16-decode.cxx b/sid/component/cgen-cpu/xstormy16/xstormy16-decode.cxx index 4235909d18..b919e242a1 100644 --- a/sid/component/cgen-cpu/xstormy16/xstormy16-decode.cxx +++ b/sid/component/cgen-cpu/xstormy16/xstormy16-decode.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -261,14 +261,8 @@ xstormy16_extract_sfmt_andimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_c static void xstormy16_extract_sfmt_andgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); static void -xstormy16_extract_sfmt_addgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); -static void xstormy16_extract_sfmt_addgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); static void -xstormy16_extract_sfmt_addimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); -static void -xstormy16_extract_sfmt_addgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); -static void xstormy16_extract_sfmt_adcgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); static void xstormy16_extract_sfmt_adcgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); @@ -279,20 +273,10 @@ xstormy16_extract_sfmt_adcgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* curren static void xstormy16_extract_sfmt_incgrimm2 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); static void -xstormy16_extract_sfmt_rrcgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); -static void -xstormy16_extract_sfmt_rrcgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); -static void xstormy16_extract_sfmt_shrgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); static void xstormy16_extract_sfmt_shrgrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); static void -xstormy16_extract_sfmt_asrgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); -static void -xstormy16_extract_sfmt_asrgrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); -static void -xstormy16_extract_sfmt_set1grimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); -static void xstormy16_extract_sfmt_set1lmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); static void xstormy16_extract_sfmt_set1hmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); @@ -341,8 +325,6 @@ xstormy16_extract_sfmt_ret (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, static void xstormy16_extract_sfmt_mul (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); static void -xstormy16_extract_sfmt_sdiv (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); -static void xstormy16_extract_sfmt_sdivlh (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); static void xstormy16_extract_sfmt_reset (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn); @@ -368,29 +350,19 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffff) == 0x0) - { itype = XSTORMY16_INSN_NOP; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_NOP; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffff) == 0x1) - { itype = XSTORMY16_INSN_SYSCALL; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SYSCALL; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffff) == 0x2) - { itype = XSTORMY16_INSN_IRET; xstormy16_extract_sfmt_iret (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_IRET; xstormy16_extract_sfmt_iret (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffff) == 0x3) - { itype = XSTORMY16_INSN_RET; xstormy16_extract_sfmt_ret (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_RET; xstormy16_extract_sfmt_ret (this, current_cpu, pc, base_insn, entire_insn); goto done; case 5 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffff) == 0x5) - { itype = XSTORMY16_INSN_BRK; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_BRK; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : /* fall through */ case 9 : /* fall through */ case 10 : /* fall through */ @@ -400,9 +372,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 14 : /* fall through */ case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x10) - { itype = XSTORMY16_INSN_CALLRGR; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_CALLRGR; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 17 : /* fall through */ case 18 : /* fall through */ @@ -412,9 +382,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 22 : /* fall through */ case 23 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x20) - { itype = XSTORMY16_INSN_BGR; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_BGR; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : /* fall through */ case 25 : /* fall through */ case 26 : /* fall through */ @@ -424,9 +392,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 30 : /* fall through */ case 31 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x30) - { itype = XSTORMY16_INSN_ICALLRGR; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ICALLRGR; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -437,24 +403,16 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffff) == 0x8) - { itype = XSTORMY16_INSN_HALT; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_HALT; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffff) == 0xa) - { itype = XSTORMY16_INSN_HOLD; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_HOLD; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffff) == 0xb) - { itype = XSTORMY16_INSN_HOLDX; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_HOLDX; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 7 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffff) == 0xf) - { itype = XSTORMY16_INSN_RESET; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_RESET; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : /* fall through */ case 9 : /* fall through */ case 10 : /* fall through */ @@ -464,9 +422,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 14 : /* fall through */ case 15 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x10) - { itype = XSTORMY16_INSN_CALLRGR; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_CALLRGR; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 17 : /* fall through */ case 18 : /* fall through */ @@ -476,9 +432,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 22 : /* fall through */ case 23 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x20) - { itype = XSTORMY16_INSN_BGR; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_BGR; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : /* fall through */ case 25 : /* fall through */ case 26 : /* fall through */ @@ -488,9 +442,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 30 : /* fall through */ case 31 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x30) - { itype = XSTORMY16_INSN_ICALLRGR; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ICALLRGR; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -502,14 +454,10 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffe0) == 0x40) - { itype = XSTORMY16_INSN_JMP; xstormy16_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_JMP; xstormy16_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffe0) == 0x60) - { itype = XSTORMY16_INSN_ICALLGR; xstormy16_extract_sfmt_icallgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ICALLGR; xstormy16_extract_sfmt_icallgr (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -521,20 +469,14 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x80) - { itype = XSTORMY16_INSN_PUSHGR; xstormy16_extract_sfmt_pushgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_PUSHGR; xstormy16_extract_sfmt_pushgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x90) - { itype = XSTORMY16_INSN_POPGR; xstormy16_extract_sfmt_popgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_POPGR; xstormy16_extract_sfmt_popgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : /* fall through */ case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffe0) == 0xa0) - { itype = XSTORMY16_INSN_CALLGR; xstormy16_extract_sfmt_callgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_CALLGR; xstormy16_extract_sfmt_callgr (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -569,7 +511,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 0 : entire_insn = entire_insn >> 16; if ((entire_insn & 0xffff) == 0xc8) - { itype = XSTORMY16_INSN_SDIV; xstormy16_extract_sfmt_sdiv (this, current_cpu, pc, base_insn, entire_insn); goto done; } + { itype = XSTORMY16_INSN_SDIV; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; } itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; @@ -586,10 +528,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 12 : /* fall through */ case 13 : /* fall through */ case 14 : /* fall through */ - case 15 : - if ((entire_insn & 0xff000000) == 0x1000000) - { itype = XSTORMY16_INSN_CALLFIMM; xstormy16_extract_sfmt_callfimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 15 : itype = XSTORMY16_INSN_CALLFIMM; xstormy16_extract_sfmt_callfimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 17 : /* fall through */ case 18 : /* fall through */ @@ -597,10 +536,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 20 : /* fall through */ case 21 : /* fall through */ case 22 : /* fall through */ - case 23 : - if ((entire_insn & 0xff000000) == 0x2000000) - { itype = XSTORMY16_INSN_JMPF; xstormy16_extract_sfmt_jmpf (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 23 : itype = XSTORMY16_INSN_JMPF; xstormy16_extract_sfmt_jmpf (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : /* fall through */ case 25 : /* fall through */ case 26 : /* fall through */ @@ -608,10 +544,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 28 : /* fall through */ case 29 : /* fall through */ case 30 : /* fall through */ - case 31 : - if ((entire_insn & 0xff000000) == 0x3000000) - { itype = XSTORMY16_INSN_ICALLFIMM; xstormy16_extract_sfmt_icallfimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 31 : itype = XSTORMY16_INSN_ICALLFIMM; xstormy16_extract_sfmt_icallfimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 32 : /* fall through */ case 33 : /* fall through */ case 34 : /* fall through */ @@ -665,9 +598,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 70 : /* fall through */ case 71 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x800) - { itype = XSTORMY16_INSN_CLR1GRIMM; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_CLR1GRIMM; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 72 : /* fall through */ case 73 : /* fall through */ case 74 : /* fall through */ @@ -677,9 +608,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 78 : /* fall through */ case 79 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x900) - { itype = XSTORMY16_INSN_SET1GRIMM; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SET1GRIMM; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 80 : /* fall through */ case 81 : /* fall through */ case 82 : /* fall through */ @@ -689,9 +618,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 86 : /* fall through */ case 87 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xa00) - { itype = XSTORMY16_INSN_CLR1GRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_CLR1GRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 88 : /* fall through */ case 89 : /* fall through */ case 90 : /* fall through */ @@ -701,9 +628,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 94 : /* fall through */ case 95 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0xb00) - { itype = XSTORMY16_INSN_SET1GRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SET1GRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 104 : /* fall through */ case 105 : /* fall through */ case 106 : /* fall through */ @@ -711,10 +636,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 108 : /* fall through */ case 109 : /* fall through */ case 110 : /* fall through */ - case 111 : - if ((entire_insn & 0xff000000) == 0xd000000) - { itype = XSTORMY16_INSN_BCCGRGR; xstormy16_extract_sfmt_bccgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 111 : itype = XSTORMY16_INSN_BCCGRGR; xstormy16_extract_sfmt_bccgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 128 : /* fall through */ case 129 : /* fall through */ case 130 : /* fall through */ @@ -849,14 +771,10 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf001) == 0x1000) - { itype = XSTORMY16_INSN_BR; xstormy16_extract_sfmt_br (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_BR; xstormy16_extract_sfmt_br (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf001) == 0x1001) - { itype = XSTORMY16_INSN_CALLRIMM; xstormy16_extract_sfmt_callrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_CALLRIMM; xstormy16_extract_sfmt_callrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -923,10 +841,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 372 : /* fall through */ case 373 : /* fall through */ case 374 : /* fall through */ - case 375 : - if ((entire_insn & 0xf1000000) == 0x20000000) - { itype = XSTORMY16_INSN_BCCGRIMM8; xstormy16_extract_sfmt_bccgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 375 : itype = XSTORMY16_INSN_BCCGRIMM8; xstormy16_extract_sfmt_bccgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 265 : /* fall through */ case 266 : /* fall through */ @@ -992,21 +907,15 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 382 : /* fall through */ case 383 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf100) == 0x2100) - { itype = XSTORMY16_INSN_MOVWGRIMM8; xstormy16_extract_sfmt_movwgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVWGRIMM8; xstormy16_extract_sfmt_movwgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ case 385 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffc0) == 0x3000) - { itype = XSTORMY16_INSN_INCGRIMM2; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_INCGRIMM2; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ case 387 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xffc0) == 0x3040) - { itype = XSTORMY16_INSN_DECGRIMM2; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_DECGRIMM2; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 389 : { @@ -1015,24 +924,16 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x3080) - { itype = XSTORMY16_INSN_SWPB; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SWPB; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x3090) - { itype = XSTORMY16_INSN_SWPN; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SWPN; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x30a0) - { itype = XSTORMY16_INSN_CBWGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_CBWGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x30b0) - { itype = XSTORMY16_INSN_NOTGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_NOTGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1044,23 +945,14 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ { case 0 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x30c0) - { itype = XSTORMY16_INSN_MOVLOWGR; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVLOWGR; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x30d0) - { itype = XSTORMY16_INSN_MOVHIGHGR; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : - if ((entire_insn & 0xfff00000) == 0x30e00000) - { itype = XSTORMY16_INSN_MASKGRIMM16; xstormy16_extract_sfmt_maskgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVHIGHGR; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : itype = XSTORMY16_INSN_MASKGRIMM16; xstormy16_extract_sfmt_maskgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 3 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfff0) == 0x30f0) - { itype = XSTORMY16_INSN_REVGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_REVGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1070,22 +962,10 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xfff00000) == 0x31000000) - { itype = XSTORMY16_INSN_ANDGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : - if ((entire_insn & 0xfff00000) == 0x31100000) - { itype = XSTORMY16_INSN_ORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : - if ((entire_insn & 0xfff00000) == 0x31200000) - { itype = XSTORMY16_INSN_XORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : - if ((entire_insn & 0xfff00000) == 0x31300000) - { itype = XSTORMY16_INSN_MOVWGRIMM16; xstormy16_extract_sfmt_movwgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = XSTORMY16_INSN_ANDGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : itype = XSTORMY16_INSN_ORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : itype = XSTORMY16_INSN_XORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : itype = XSTORMY16_INSN_MOVWGRIMM16; xstormy16_extract_sfmt_movwgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1095,22 +975,10 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xfff00000) == 0x31400000) - { itype = XSTORMY16_INSN_ADDGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 1 : - if ((entire_insn & 0xfff00000) == 0x31500000) - { itype = XSTORMY16_INSN_ADCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 2 : - if ((entire_insn & 0xfff00000) == 0x31600000) - { itype = XSTORMY16_INSN_SUBGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; - case 3 : - if ((entire_insn & 0xfff00000) == 0x31700000) - { itype = XSTORMY16_INSN_SBCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 0 : itype = XSTORMY16_INSN_ADDGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1 : itype = XSTORMY16_INSN_ADCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 2 : itype = XSTORMY16_INSN_SUBGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 3 : itype = XSTORMY16_INSN_SBCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -1123,9 +991,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 406 : /* fall through */ case 407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3200) - { itype = XSTORMY16_INSN_SWPW; xstormy16_extract_sfmt_swpw (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SWPW; xstormy16_extract_sfmt_swpw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 408 : /* fall through */ case 409 : /* fall through */ case 410 : /* fall through */ @@ -1135,9 +1001,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 414 : /* fall through */ case 415 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3300) - { itype = XSTORMY16_INSN_MASKGRGR; xstormy16_extract_sfmt_maskgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MASKGRGR; xstormy16_extract_sfmt_maskgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 432 : /* fall through */ case 433 : /* fall through */ case 434 : /* fall through */ @@ -1147,9 +1011,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 438 : /* fall through */ case 439 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3600) - { itype = XSTORMY16_INSN_ASRGRGR; xstormy16_extract_sfmt_asrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ASRGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 440 : /* fall through */ case 441 : /* fall through */ case 442 : /* fall through */ @@ -1159,9 +1021,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 446 : /* fall through */ case 447 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3700) - { itype = XSTORMY16_INSN_ASRGRIMM; xstormy16_extract_sfmt_asrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ASRGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 448 : /* fall through */ case 449 : /* fall through */ case 450 : /* fall through */ @@ -1171,9 +1031,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 454 : /* fall through */ case 455 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3800) - { itype = XSTORMY16_INSN_RRCGRGR; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_RRCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 456 : /* fall through */ case 457 : /* fall through */ case 458 : /* fall through */ @@ -1183,9 +1041,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 462 : /* fall through */ case 463 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3900) - { itype = XSTORMY16_INSN_RRCGRIMM4; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_RRCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 464 : /* fall through */ case 465 : /* fall through */ case 466 : /* fall through */ @@ -1195,9 +1051,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 470 : /* fall through */ case 471 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3a00) - { itype = XSTORMY16_INSN_RLCGRGR; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_RLCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 472 : /* fall through */ case 473 : /* fall through */ case 474 : /* fall through */ @@ -1207,9 +1061,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 478 : /* fall through */ case 479 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3b00) - { itype = XSTORMY16_INSN_RLCGRIMM4; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_RLCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 480 : /* fall through */ case 481 : /* fall through */ case 482 : /* fall through */ @@ -1219,9 +1071,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 486 : /* fall through */ case 487 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3c00) - { itype = XSTORMY16_INSN_SHRGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SHRGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 488 : /* fall through */ case 489 : /* fall through */ case 490 : /* fall through */ @@ -1231,9 +1081,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 494 : /* fall through */ case 495 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3d00) - { itype = XSTORMY16_INSN_SHRGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SHRGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 496 : /* fall through */ case 497 : /* fall through */ case 498 : /* fall through */ @@ -1243,9 +1091,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 502 : /* fall through */ case 503 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3e00) - { itype = XSTORMY16_INSN_SHLGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SHLGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 504 : /* fall through */ case 505 : /* fall through */ case 506 : /* fall through */ @@ -1255,9 +1101,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 510 : /* fall through */ case 511 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x3f00) - { itype = XSTORMY16_INSN_SHLGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SHLGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : /* fall through */ case 513 : /* fall through */ case 514 : /* fall through */ @@ -1267,9 +1111,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 518 : /* fall through */ case 519 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4000) - { itype = XSTORMY16_INSN_ANDGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ANDGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 520 : /* fall through */ case 521 : /* fall through */ case 522 : /* fall through */ @@ -1279,9 +1121,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 526 : /* fall through */ case 527 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4100) - { itype = XSTORMY16_INSN_ANDIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ANDIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : /* fall through */ case 529 : /* fall through */ case 530 : /* fall through */ @@ -1291,9 +1131,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 534 : /* fall through */ case 535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4200) - { itype = XSTORMY16_INSN_ORGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ORGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 536 : /* fall through */ case 537 : /* fall through */ case 538 : /* fall through */ @@ -1303,9 +1141,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 542 : /* fall through */ case 543 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4300) - { itype = XSTORMY16_INSN_ORIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ORIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 544 : /* fall through */ case 545 : /* fall through */ case 546 : /* fall through */ @@ -1315,9 +1151,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 550 : /* fall through */ case 551 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4400) - { itype = XSTORMY16_INSN_XORGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_XORGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 552 : /* fall through */ case 553 : /* fall through */ case 554 : /* fall through */ @@ -1327,9 +1161,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 558 : /* fall through */ case 559 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4500) - { itype = XSTORMY16_INSN_XORIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_XORIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 560 : /* fall through */ case 561 : /* fall through */ case 562 : /* fall through */ @@ -1339,9 +1171,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 566 : /* fall through */ case 567 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4600) - { itype = XSTORMY16_INSN_MOVGRGR; xstormy16_extract_sfmt_movgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVGRGR; xstormy16_extract_sfmt_movgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 568 : /* fall through */ case 569 : /* fall through */ case 570 : /* fall through */ @@ -1351,9 +1181,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 574 : /* fall through */ case 575 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4700) - { itype = XSTORMY16_INSN_MOVWIMM8; xstormy16_extract_sfmt_movwimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVWIMM8; xstormy16_extract_sfmt_movwimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 584 : /* fall through */ case 585 : /* fall through */ case 586 : /* fall through */ @@ -1363,9 +1191,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 590 : /* fall through */ case 591 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4900) - { itype = XSTORMY16_INSN_ADDGRGR; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ADDGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 600 : /* fall through */ case 601 : /* fall through */ case 602 : /* fall through */ @@ -1375,9 +1201,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 606 : /* fall through */ case 607 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4b00) - { itype = XSTORMY16_INSN_ADCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ADCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 616 : /* fall through */ case 617 : /* fall through */ case 618 : /* fall through */ @@ -1387,9 +1211,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 622 : /* fall through */ case 623 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4d00) - { itype = XSTORMY16_INSN_SUBGRGR; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SUBGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 632 : /* fall through */ case 633 : /* fall through */ case 634 : /* fall through */ @@ -1399,9 +1221,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 638 : /* fall through */ case 639 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x4f00) - { itype = XSTORMY16_INSN_SBCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SBCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 648 : /* fall through */ case 649 : /* fall through */ case 650 : /* fall through */ @@ -1411,9 +1231,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 654 : /* fall through */ case 655 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x5100) - { itype = XSTORMY16_INSN_ADDGRIMM4; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ADDGRIMM4; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 664 : /* fall through */ case 665 : /* fall through */ case 666 : /* fall through */ @@ -1423,9 +1241,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 670 : /* fall through */ case 671 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x5300) - { itype = XSTORMY16_INSN_ADCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ADCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 680 : /* fall through */ case 681 : /* fall through */ case 682 : /* fall through */ @@ -1435,9 +1251,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 686 : /* fall through */ case 687 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x5500) - { itype = XSTORMY16_INSN_SUBGRIMM4; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SUBGRIMM4; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 696 : /* fall through */ case 697 : /* fall through */ case 698 : /* fall through */ @@ -1447,9 +1261,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 702 : /* fall through */ case 703 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x5700) - { itype = XSTORMY16_INSN_SBCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SBCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 712 : /* fall through */ case 713 : /* fall through */ case 714 : /* fall through */ @@ -1459,9 +1271,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 718 : /* fall through */ case 719 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x5900) - { itype = XSTORMY16_INSN_ADDIMM8; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ADDIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 728 : /* fall through */ case 729 : /* fall through */ case 730 : /* fall through */ @@ -1471,9 +1281,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 734 : /* fall through */ case 735 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x5b00) - { itype = XSTORMY16_INSN_ADCIMM8; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_ADCIMM8; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 744 : /* fall through */ case 745 : /* fall through */ case 746 : /* fall through */ @@ -1483,9 +1291,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 750 : /* fall through */ case 751 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x5d00) - { itype = XSTORMY16_INSN_SUBIMM8; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SUBIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 760 : /* fall through */ case 761 : /* fall through */ case 762 : /* fall through */ @@ -1495,9 +1301,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 766 : /* fall through */ case 767 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xff00) == 0x5f00) - { itype = XSTORMY16_INSN_SBCGRIMM8; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SBCGRIMM8; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 770 : /* fall through */ case 772 : /* fall through */ @@ -1507,9 +1311,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 780 : /* fall through */ case 782 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x6000) - { itype = XSTORMY16_INSN_MOVGRGRIPOSTINC; xstormy16_extract_sfmt_movgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVGRGRIPOSTINC; xstormy16_extract_sfmt_movgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 771 : /* fall through */ case 773 : /* fall through */ @@ -1530,9 +1332,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 796 : /* fall through */ case 798 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x6200) - { itype = XSTORMY16_INSN_MOVGRIPOSTINCGR; xstormy16_extract_sfmt_movgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVGRIPOSTINCGR; xstormy16_extract_sfmt_movgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 785 : /* fall through */ case 787 : /* fall through */ case 789 : /* fall through */ @@ -1553,9 +1353,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 812 : /* fall through */ case 814 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x6400) - { itype = XSTORMY16_INSN_MOVFGRGRIPOSTINC; xstormy16_extract_sfmt_movfgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVFGRGRIPOSTINC; xstormy16_extract_sfmt_movfgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 801 : /* fall through */ case 803 : /* fall through */ case 805 : /* fall through */ @@ -1576,9 +1374,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 828 : /* fall through */ case 830 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x6600) - { itype = XSTORMY16_INSN_MOVFGRIPOSTINCGR; xstormy16_extract_sfmt_movfgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVFGRIPOSTINCGR; xstormy16_extract_sfmt_movfgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 817 : /* fall through */ case 819 : /* fall through */ case 821 : /* fall through */ @@ -1599,9 +1395,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 844 : /* fall through */ case 846 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x6800) - { itype = XSTORMY16_INSN_MOVGRGRIPREDEC; xstormy16_extract_sfmt_movgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVGRGRIPREDEC; xstormy16_extract_sfmt_movgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done; case 833 : /* fall through */ case 835 : /* fall through */ case 837 : /* fall through */ @@ -1622,9 +1416,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 860 : /* fall through */ case 862 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x6a00) - { itype = XSTORMY16_INSN_MOVGRIPREDECGR; xstormy16_extract_sfmt_movgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVGRIPREDECGR; xstormy16_extract_sfmt_movgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 849 : /* fall through */ case 851 : /* fall through */ case 853 : /* fall through */ @@ -1645,9 +1437,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 876 : /* fall through */ case 878 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x6c00) - { itype = XSTORMY16_INSN_MOVFGRGRIPREDEC; xstormy16_extract_sfmt_movfgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVFGRGRIPREDEC; xstormy16_extract_sfmt_movfgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done; case 865 : /* fall through */ case 867 : /* fall through */ case 869 : /* fall through */ @@ -1668,9 +1458,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 892 : /* fall through */ case 894 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x6e00) - { itype = XSTORMY16_INSN_MOVFGRIPREDECGR; xstormy16_extract_sfmt_movfgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVFGRIPREDECGR; xstormy16_extract_sfmt_movfgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 881 : /* fall through */ case 883 : /* fall through */ case 885 : /* fall through */ @@ -1691,9 +1479,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 908 : /* fall through */ case 910 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x7000) - { itype = XSTORMY16_INSN_MOVGRGRI; xstormy16_extract_sfmt_movgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVGRGRI; xstormy16_extract_sfmt_movgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done; case 897 : /* fall through */ case 899 : /* fall through */ case 901 : /* fall through */ @@ -1714,9 +1500,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 924 : /* fall through */ case 926 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x7200) - { itype = XSTORMY16_INSN_MOVGRIGR; xstormy16_extract_sfmt_movgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVGRIGR; xstormy16_extract_sfmt_movgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 913 : /* fall through */ case 915 : /* fall through */ case 917 : /* fall through */ @@ -1737,9 +1521,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 940 : /* fall through */ case 942 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x7400) - { itype = XSTORMY16_INSN_MOVFGRGRI; xstormy16_extract_sfmt_movfgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVFGRGRI; xstormy16_extract_sfmt_movfgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done; case 929 : /* fall through */ case 931 : /* fall through */ case 933 : /* fall through */ @@ -1760,9 +1542,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 956 : /* fall through */ case 958 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xfe08) == 0x7600) - { itype = XSTORMY16_INSN_MOVFGRIGR; xstormy16_extract_sfmt_movfgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVFGRIGR; xstormy16_extract_sfmt_movfgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 945 : /* fall through */ case 947 : /* fall through */ case 949 : /* fall through */ @@ -1789,10 +1569,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 972 : /* fall through */ case 973 : /* fall through */ case 974 : /* fall through */ - case 975 : - if ((entire_insn & 0xfe000000) == 0x78000000) - { itype = XSTORMY16_INSN_MOVLMEMIMM; xstormy16_extract_sfmt_movlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 975 : itype = XSTORMY16_INSN_MOVLMEMIMM; xstormy16_extract_sfmt_movlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 976 : /* fall through */ case 977 : /* fall through */ case 978 : /* fall through */ @@ -1808,10 +1585,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 988 : /* fall through */ case 989 : /* fall through */ case 990 : /* fall through */ - case 991 : - if ((entire_insn & 0xfe000000) == 0x7a000000) - { itype = XSTORMY16_INSN_MOVHMEMIMM; xstormy16_extract_sfmt_movhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 991 : itype = XSTORMY16_INSN_MOVHMEMIMM; xstormy16_extract_sfmt_movhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 992 : /* fall through */ case 993 : /* fall through */ case 994 : /* fall through */ @@ -1985,9 +1759,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 1150 : /* fall through */ case 1151 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x8000) - { itype = XSTORMY16_INSN_MOVLGRMEM; xstormy16_extract_sfmt_movlgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVLGRMEM; xstormy16_extract_sfmt_movlgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1152 : /* fall through */ case 1153 : /* fall through */ case 1154 : /* fall through */ @@ -2117,9 +1889,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 1278 : /* fall through */ case 1279 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0x9000) - { itype = XSTORMY16_INSN_MOVLMEMGR; xstormy16_extract_sfmt_movlmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVLMEMGR; xstormy16_extract_sfmt_movlmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ @@ -2249,9 +2019,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 1406 : /* fall through */ case 1407 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xa000) - { itype = XSTORMY16_INSN_MOVHGRMEM; xstormy16_extract_sfmt_movhgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVHGRMEM; xstormy16_extract_sfmt_movhgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ @@ -2381,9 +2149,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 1534 : /* fall through */ case 1535 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xb000) - { itype = XSTORMY16_INSN_MOVHMEMGR; xstormy16_extract_sfmt_movhmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_MOVHMEMGR; xstormy16_extract_sfmt_movhmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ @@ -2511,10 +2277,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 1660 : /* fall through */ case 1661 : /* fall through */ case 1662 : /* fall through */ - case 1663 : - if ((entire_insn & 0xf0000000) == 0xc0000000) - { itype = XSTORMY16_INSN_BCCIMM16; xstormy16_extract_sfmt_bccimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + case 1663 : itype = XSTORMY16_INSN_BCCIMM16; xstormy16_extract_sfmt_bccimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1664 : /* fall through */ case 1665 : /* fall through */ case 1666 : /* fall through */ @@ -2644,9 +2407,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 1790 : /* fall through */ case 1791 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf000) == 0xd000) - { itype = XSTORMY16_INSN_BCC; xstormy16_extract_sfmt_bcc (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_BCC; xstormy16_extract_sfmt_bcc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ @@ -2712,9 +2473,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 1910 : /* fall through */ case 1911 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf100) == 0xe000) - { itype = XSTORMY16_INSN_CLR1LMEMIMM; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_CLR1LMEMIMM; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1800 : /* fall through */ case 1801 : /* fall through */ case 1802 : /* fall through */ @@ -2780,9 +2539,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 1918 : /* fall through */ case 1919 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf100) == 0xe100) - { itype = XSTORMY16_INSN_SET1LMEMIMM; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SET1LMEMIMM; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1920 : /* fall through */ case 1921 : /* fall through */ case 1922 : /* fall through */ @@ -2848,9 +2605,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 2038 : /* fall through */ case 2039 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf100) == 0xf000) - { itype = XSTORMY16_INSN_CLR1HMEMIMM; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_CLR1HMEMIMM; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1928 : /* fall through */ case 1929 : /* fall through */ case 1930 : /* fall through */ @@ -2916,9 +2671,7 @@ xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_ case 2046 : /* fall through */ case 2047 : entire_insn = entire_insn >> 16; - if ((entire_insn & 0xf100) == 0xf100) - { itype = XSTORMY16_INSN_SET1HMEMIMM; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } - itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; + itype = XSTORMY16_INSN_SET1HMEMIMM; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } @@ -4221,31 +3974,6 @@ xstormy16_extract_sfmt_andgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* curren } void -xstormy16_extract_sfmt_addgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ - xstormy16_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_bccgrgr.f - UINT f_Rs; - UINT f_Rd; - - f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rd) = f_Rd; - FLD (f_Rs) = f_Rs; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_addgrgr)\t" - << " f_Rd:0x" << hex << f_Rd << dec - << " f_Rs:0x" << hex << f_Rs << dec - << endl; - } - -#undef FLD -} - -void xstormy16_extract_sfmt_addgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ xstormy16_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_bngrimm4.f @@ -4271,52 +3999,6 @@ xstormy16_extract_sfmt_addgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current } void -xstormy16_extract_sfmt_addimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ - xstormy16_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_bccgrimm8.f - UINT f_imm8; - - f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); - - /* Record the fields for the semantic handler. */ - FLD (f_imm8) = f_imm8; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_addimm8)\t" - << " f_imm8:0x" << hex << f_imm8 << dec - << endl; - } - -#undef FLD -} - -void -xstormy16_extract_sfmt_addgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ - xstormy16_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_movwgrimm16.f - UINT f_Rd; - UINT f_imm16; - - f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4); - f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16); - - /* Record the fields for the semantic handler. */ - FLD (f_Rd) = f_Rd; - FLD (f_imm16) = f_imm16; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_addgrimm16)\t" - << " f_Rd:0x" << hex << f_Rd << dec - << " f_imm16:0x" << hex << f_imm16 << dec - << endl; - } - -#undef FLD -} - -void xstormy16_extract_sfmt_adcgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ xstormy16_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_bccgrgr.f @@ -4438,56 +4120,6 @@ xstormy16_extract_sfmt_incgrimm2 (xstormy16_scache* abuf, xstormy16_cpu* current } void -xstormy16_extract_sfmt_rrcgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ - xstormy16_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_bccgrgr.f - UINT f_Rs; - UINT f_Rd; - - f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rd) = f_Rd; - FLD (f_Rs) = f_Rs; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_rrcgrgr)\t" - << " f_Rd:0x" << hex << f_Rd << dec - << " f_Rs:0x" << hex << f_Rs << dec - << endl; - } - -#undef FLD -} - -void -xstormy16_extract_sfmt_rrcgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ - xstormy16_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_bngrimm4.f - UINT f_imm4; - UINT f_Rd; - - f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rd) = f_Rd; - FLD (f_imm4) = f_imm4; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_rrcgrimm4)\t" - << " f_Rd:0x" << hex << f_Rd << dec - << " f_imm4:0x" << hex << f_imm4 << dec - << endl; - } - -#undef FLD -} - -void xstormy16_extract_sfmt_shrgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ xstormy16_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_bccgrgr.f @@ -4538,81 +4170,6 @@ xstormy16_extract_sfmt_shrgrimm (xstormy16_scache* abuf, xstormy16_cpu* current_ } void -xstormy16_extract_sfmt_asrgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ - xstormy16_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_bccgrgr.f - UINT f_Rs; - UINT f_Rd; - - f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rd) = f_Rd; - FLD (f_Rs) = f_Rs; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_asrgrgr)\t" - << " f_Rd:0x" << hex << f_Rd << dec - << " f_Rs:0x" << hex << f_Rs << dec - << endl; - } - -#undef FLD -} - -void -xstormy16_extract_sfmt_asrgrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ - xstormy16_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_bngrimm4.f - UINT f_imm4; - UINT f_Rd; - - f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rd) = f_Rd; - FLD (f_imm4) = f_imm4; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_asrgrimm)\t" - << " f_Rd:0x" << hex << f_Rd << dec - << " f_imm4:0x" << hex << f_imm4 << dec - << endl; - } - -#undef FLD -} - -void -xstormy16_extract_sfmt_set1grimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ - xstormy16_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_bngrimm4.f - UINT f_imm4; - UINT f_Rd; - - f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); - f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4); - - /* Record the fields for the semantic handler. */ - FLD (f_Rd) = f_Rd; - FLD (f_imm4) = f_imm4; - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_set1grimm)\t" - << " f_Rd:0x" << hex << f_Rd << dec - << " f_imm4:0x" << hex << f_imm4 << dec - << endl; - } - -#undef FLD -} - -void xstormy16_extract_sfmt_set1lmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ xstormy16_insn_word insn = entire_insn; #define FLD(f) abuf->fields.sfmt_set1lmemimm.f @@ -5205,23 +4762,6 @@ xstormy16_extract_sfmt_mul (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, } void -xstormy16_extract_sfmt_sdiv (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ - xstormy16_insn_word insn = entire_insn; -#define FLD(f) abuf->fields.fmt_empty.f - - - /* Record the fields for the semantic handler. */ - if (UNLIKELY(current_cpu->trace_extract_p)) - { - current_cpu->trace_stream - << "0x" << hex << pc << dec << " (sfmt_sdiv)\t" - << endl; - } - -#undef FLD -} - -void xstormy16_extract_sfmt_sdivlh (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){ xstormy16_insn_word insn = entire_insn; #define FLD(f) abuf->fields.fmt_empty.f diff --git a/sid/component/cgen-cpu/xstormy16/xstormy16-decode.h b/sid/component/cgen-cpu/xstormy16/xstormy16-decode.h index 3e03bce59a..77793f90ff 100644 --- a/sid/component/cgen-cpu/xstormy16/xstormy16-decode.h +++ b/sid/component/cgen-cpu/xstormy16/xstormy16-decode.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/xstormy16/xstormy16-defs.h b/sid/component/cgen-cpu/xstormy16/xstormy16-defs.h index 7d9ce3481d..edbe1b628a 100644 --- a/sid/component/cgen-cpu/xstormy16/xstormy16-defs.h +++ b/sid/component/cgen-cpu/xstormy16/xstormy16-defs.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. diff --git a/sid/component/cgen-cpu/xstormy16/xstormy16-desc.h b/sid/component/cgen-cpu/xstormy16/xstormy16-desc.h index 88ab727da3..2742b52d2b 100644 --- a/sid/component/cgen-cpu/xstormy16/xstormy16-desc.h +++ b/sid/component/cgen-cpu/xstormy16/xstormy16-desc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -12,7 +12,7 @@ This file is part of the Red Hat simulators. #ifndef DESC_XSTORMY16_H #define DESC_XSTORMY16_H -#include "opcode/cgen-bitset.h" +#include "cgen/bitset.h" namespace xstormy16 { diff --git a/sid/component/cgen-cpu/xstormy16/xstormy16-sem.cxx b/sid/component/cgen-cpu/xstormy16/xstormy16-sem.cxx index 7372c39350..84c65c7fcc 100644 --- a/sid/component/cgen-cpu/xstormy16/xstormy16-sem.cxx +++ b/sid/component/cgen-cpu/xstormy16/xstormy16-sem.cxx @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright (C) 2000-2005 Red Hat, Inc. +Copyright (C) 2000-2009 Red Hat, Inc. This file is part of the Red Hat simulators. @@ -384,7 +384,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, current_cpu->h_gr_get (FLD (f_Rs)))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, current_cpu->h_gr_get (FLD (f_Rs)))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -437,7 +437,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, current_cpu->h_gr_get (FLD (f_Rs)))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, current_cpu->h_gr_get (FLD (f_Rs)))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -503,7 +503,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, current_cpu->h_gr_get (FLD (f_Rs)))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, current_cpu->h_gr_get (FLD (f_Rs)))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -700,7 +700,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, ADDSI (current_cpu->h_gr_get (FLD (f_Rs)), FLD (f_imm12)))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, ADDSI (current_cpu->h_gr_get (FLD (f_Rs)), FLD (f_imm12)))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -753,7 +753,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, ADDSI (current_cpu->h_gr_get (FLD (f_Rs)), FLD (f_imm12)))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, ADDSI (current_cpu->h_gr_get (FLD (f_Rs)), FLD (f_imm12)))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -819,7 +819,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, ADDSI (current_cpu->h_gr_get (FLD (f_Rs)), FLD (f_imm12)))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, ADDSI (current_cpu->h_gr_get (FLD (f_Rs)), FLD (f_imm12)))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -1214,7 +1214,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, ORSI (SLLSI (current_cpu->h_gr_get (((UINT) 8)), 16), current_cpu->h_gr_get (FLD (f_Rs))))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, ORSI (SLLSI (current_cpu->h_gr_get (((UINT) 8)), 16), current_cpu->h_gr_get (FLD (f_Rs))))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -1267,7 +1267,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, JOINHISI (current_cpu->h_gr_get (((UINT) 8)), current_cpu->h_gr_get (FLD (f_Rs))))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, JOINHISI (current_cpu->h_gr_get (((UINT) 8)), current_cpu->h_gr_get (FLD (f_Rs))))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -1333,7 +1333,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, JOINHISI (current_cpu->h_gr_get (((UINT) 8)), current_cpu->h_gr_get (FLD (f_Rs))))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, JOINHISI (current_cpu->h_gr_get (((UINT) 8)), current_cpu->h_gr_get (FLD (f_Rs))))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -1530,7 +1530,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, ADDSI (JOINHISI (current_cpu->h_Rb_get (FLD (f_Rb)), current_cpu->h_gr_get (FLD (f_Rs))), FLD (f_imm12)))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, ADDSI (JOINHISI (current_cpu->h_Rb_get (FLD (f_Rb)), current_cpu->h_gr_get (FLD (f_Rs))), FLD (f_imm12)))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -1583,7 +1583,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, ADDSI (JOINHISI (current_cpu->h_Rb_get (FLD (f_Rb)), current_cpu->h_gr_get (FLD (f_Rs))), FLD (f_imm12)))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, ADDSI (JOINHISI (current_cpu->h_Rb_get (FLD (f_Rb)), current_cpu->h_gr_get (FLD (f_Rs))), FLD (f_imm12)))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) @@ -1649,7 +1649,7 @@ if (FLD (f_op2m)) { } else { { HI tmp_nvalue; - tmp_nvalue = ANDSI (255, current_cpu->GETMEMSI (pc, ADDSI (JOINHISI (current_cpu->h_Rb_get (FLD (f_Rb)), current_cpu->h_gr_get (FLD (f_Rs))), FLD (f_imm12)))); + tmp_nvalue = ANDSI (255, current_cpu->GETMEMQI (pc, ADDSI (JOINHISI (current_cpu->h_Rb_get (FLD (f_Rb)), current_cpu->h_gr_get (FLD (f_Rs))), FLD (f_imm12)))); { HI opval = tmp_nvalue; if (UNLIKELY(current_cpu->trace_result_p)) -- 2.11.0