THIS FILE IS MACHINE GENERATED WITH CGEN.
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+Copyright 1996-2019 Free Software Foundation, Inc.
-This file is part of the GNU Simulators.
+This file is part of the GNU simulators.
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ It is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, see <http://www.gnu.org/licenses/>.
*/
{ SH64_COMPACT_INSN_DIV0S_COMPACT, && case_sem_INSN_DIV0S_COMPACT },
{ SH64_COMPACT_INSN_DIV0U_COMPACT, && case_sem_INSN_DIV0U_COMPACT },
{ SH64_COMPACT_INSN_DIV1_COMPACT, && case_sem_INSN_DIV1_COMPACT },
+ { SH64_COMPACT_INSN_DIVU_COMPACT, && case_sem_INSN_DIVU_COMPACT },
+ { SH64_COMPACT_INSN_MULR_COMPACT, && case_sem_INSN_MULR_COMPACT },
{ SH64_COMPACT_INSN_DMULSL_COMPACT, && case_sem_INSN_DMULSL_COMPACT },
{ SH64_COMPACT_INSN_DMULUL_COMPACT, && case_sem_INSN_DMULUL_COMPACT },
{ SH64_COMPACT_INSN_DT_COMPACT, && case_sem_INSN_DT_COMPACT },
{ SH64_COMPACT_INSN_FMOV5_COMPACT, && case_sem_INSN_FMOV5_COMPACT },
{ SH64_COMPACT_INSN_FMOV6_COMPACT, && case_sem_INSN_FMOV6_COMPACT },
{ SH64_COMPACT_INSN_FMOV7_COMPACT, && case_sem_INSN_FMOV7_COMPACT },
+ { SH64_COMPACT_INSN_FMOV8_COMPACT, && case_sem_INSN_FMOV8_COMPACT },
+ { SH64_COMPACT_INSN_FMOV9_COMPACT, && case_sem_INSN_FMOV9_COMPACT },
{ SH64_COMPACT_INSN_FMUL_COMPACT, && case_sem_INSN_FMUL_COMPACT },
{ SH64_COMPACT_INSN_FNEG_COMPACT, && case_sem_INSN_FNEG_COMPACT },
{ SH64_COMPACT_INSN_FRCHG_COMPACT, && case_sem_INSN_FRCHG_COMPACT },
{ SH64_COMPACT_INSN_FTRV_COMPACT, && case_sem_INSN_FTRV_COMPACT },
{ SH64_COMPACT_INSN_JMP_COMPACT, && case_sem_INSN_JMP_COMPACT },
{ SH64_COMPACT_INSN_JSR_COMPACT, && case_sem_INSN_JSR_COMPACT },
- { SH64_COMPACT_INSN_LDC_COMPACT, && case_sem_INSN_LDC_COMPACT },
- { SH64_COMPACT_INSN_LDCL_COMPACT, && case_sem_INSN_LDCL_COMPACT },
+ { SH64_COMPACT_INSN_LDC_GBR_COMPACT, && case_sem_INSN_LDC_GBR_COMPACT },
+ { SH64_COMPACT_INSN_LDC_VBR_COMPACT, && case_sem_INSN_LDC_VBR_COMPACT },
+ { SH64_COMPACT_INSN_LDC_SR_COMPACT, && case_sem_INSN_LDC_SR_COMPACT },
+ { SH64_COMPACT_INSN_LDCL_GBR_COMPACT, && case_sem_INSN_LDCL_GBR_COMPACT },
+ { SH64_COMPACT_INSN_LDCL_VBR_COMPACT, && case_sem_INSN_LDCL_VBR_COMPACT },
{ SH64_COMPACT_INSN_LDS_FPSCR_COMPACT, && case_sem_INSN_LDS_FPSCR_COMPACT },
{ SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT, && case_sem_INSN_LDSL_FPSCR_COMPACT },
{ SH64_COMPACT_INSN_LDS_FPUL_COMPACT, && case_sem_INSN_LDS_FPUL_COMPACT },
{ SH64_COMPACT_INSN_MACW_COMPACT, && case_sem_INSN_MACW_COMPACT },
{ SH64_COMPACT_INSN_MOV_COMPACT, && case_sem_INSN_MOV_COMPACT },
{ SH64_COMPACT_INSN_MOVI_COMPACT, && case_sem_INSN_MOVI_COMPACT },
+ { SH64_COMPACT_INSN_MOVI20_COMPACT, && case_sem_INSN_MOVI20_COMPACT },
{ SH64_COMPACT_INSN_MOVB1_COMPACT, && case_sem_INSN_MOVB1_COMPACT },
{ SH64_COMPACT_INSN_MOVB2_COMPACT, && case_sem_INSN_MOVB2_COMPACT },
{ SH64_COMPACT_INSN_MOVB3_COMPACT, && case_sem_INSN_MOVB3_COMPACT },
{ SH64_COMPACT_INSN_MOVL9_COMPACT, && case_sem_INSN_MOVL9_COMPACT },
{ SH64_COMPACT_INSN_MOVL10_COMPACT, && case_sem_INSN_MOVL10_COMPACT },
{ SH64_COMPACT_INSN_MOVL11_COMPACT, && case_sem_INSN_MOVL11_COMPACT },
+ { SH64_COMPACT_INSN_MOVL12_COMPACT, && case_sem_INSN_MOVL12_COMPACT },
+ { SH64_COMPACT_INSN_MOVL13_COMPACT, && case_sem_INSN_MOVL13_COMPACT },
{ SH64_COMPACT_INSN_MOVW1_COMPACT, && case_sem_INSN_MOVW1_COMPACT },
{ SH64_COMPACT_INSN_MOVW2_COMPACT, && case_sem_INSN_MOVW2_COMPACT },
{ SH64_COMPACT_INSN_MOVW3_COMPACT, && case_sem_INSN_MOVW3_COMPACT },
{ SH64_COMPACT_INSN_MOVW11_COMPACT, && case_sem_INSN_MOVW11_COMPACT },
{ SH64_COMPACT_INSN_MOVA_COMPACT, && case_sem_INSN_MOVA_COMPACT },
{ SH64_COMPACT_INSN_MOVCAL_COMPACT, && case_sem_INSN_MOVCAL_COMPACT },
+ { SH64_COMPACT_INSN_MOVCOL_COMPACT, && case_sem_INSN_MOVCOL_COMPACT },
{ SH64_COMPACT_INSN_MOVT_COMPACT, && case_sem_INSN_MOVT_COMPACT },
+ { SH64_COMPACT_INSN_MOVUAL_COMPACT, && case_sem_INSN_MOVUAL_COMPACT },
+ { SH64_COMPACT_INSN_MOVUAL2_COMPACT, && case_sem_INSN_MOVUAL2_COMPACT },
{ SH64_COMPACT_INSN_MULL_COMPACT, && case_sem_INSN_MULL_COMPACT },
{ SH64_COMPACT_INSN_MULSW_COMPACT, && case_sem_INSN_MULSW_COMPACT },
{ SH64_COMPACT_INSN_MULUW_COMPACT, && case_sem_INSN_MULUW_COMPACT },
{ SH64_COMPACT_INSN_SHLR8_COMPACT, && case_sem_INSN_SHLR8_COMPACT },
{ SH64_COMPACT_INSN_SHLR16_COMPACT, && case_sem_INSN_SHLR16_COMPACT },
{ SH64_COMPACT_INSN_STC_GBR_COMPACT, && case_sem_INSN_STC_GBR_COMPACT },
+ { SH64_COMPACT_INSN_STC_VBR_COMPACT, && case_sem_INSN_STC_VBR_COMPACT },
{ SH64_COMPACT_INSN_STCL_GBR_COMPACT, && case_sem_INSN_STCL_GBR_COMPACT },
+ { SH64_COMPACT_INSN_STCL_VBR_COMPACT, && case_sem_INSN_STCL_VBR_COMPACT },
{ SH64_COMPACT_INSN_STS_FPSCR_COMPACT, && case_sem_INSN_STS_FPSCR_COMPACT },
{ SH64_COMPACT_INSN_STSL_FPSCR_COMPACT, && case_sem_INSN_STSL_FPSCR_COMPACT },
{ SH64_COMPACT_INSN_STS_FPUL_COMPACT, && case_sem_INSN_STS_FPUL_COMPACT },
/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
off frills like tracing and profiling. */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
+/* FIXME: A better way would be to have CGEN_TRACE_RESULT check for something
that can cause it to be optimized out. Another way would be to emit
special handlers into the instruction "stream". */
#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#endif
#undef GET_ATTR
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-#else
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr)
-#endif
{
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), EXTQISI (ANDQI (FLD (f_imm8), 255)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ADDCSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_flag;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_t;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
DI opval = ANDDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn64", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
{
SI opval = ANDSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "r0", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
UQI opval = tmp_data;
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (NOTBI (GET_H_TBIT ())) {
+{
+ {
+ UDI opval = ADDDI (pc, 2);
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ }
+((void) 0); /*nop*/
{
{
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
+}
}
abuf->written = written;
SEM_BRANCH_INIT
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+{
+ {
+ UDI opval = ADDDI (pc, 2);
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ }
+((void) 0); /*nop*/
{
{
UDI opval = FLD (i_disp12);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
+}
}
SEM_BRANCH_FINI (vpc);
SEM_BRANCH_INIT
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+{
+ {
+ UDI opval = ADDDI (pc, 2);
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ }
+((void) 0); /*nop*/
{
{
UDI opval = ADDDI (EXTSIDI (GET_H_GRC (FLD (f_rn))), ADDDI (pc, 4));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
+}
}
SEM_BRANCH_FINI (vpc);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ADDDI (pc, 4);
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
+}
+ {
+ UDI opval = ADDDI (pc, 2);
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ }
+((void) 0); /*nop*/
+{
{
UDI opval = FLD (i_disp12);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
{
SI opval = ADDDI (pc, 4);
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
+}
+ {
+ UDI opval = ADDDI (pc, 2);
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ }
+((void) 0); /*nop*/
+{
{
UDI opval = ADDDI (EXTSIDI (GET_H_GRC (FLD (f_rn))), ADDDI (pc, 4));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (GET_H_TBIT ()) {
+{
+ {
+ UDI opval = ADDDI (pc, 2);
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ }
+((void) 0); /*nop*/
{
{
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
+}
}
abuf->written = written;
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = 0;
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
{
SI opval = 0;
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = 0;
SET_H_SBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = 0;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = EQSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
BI opval = EQSI (GET_H_GRC (((UINT) 0)), EXTQISI (ANDQI (FLD (f_imm8), 255)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = GESI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = GTSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = GTUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = GEUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
BI opval = GTSI (GET_H_GRC (FLD (f_rn)), 0);
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
BI opval = GESI (GET_H_GRC (FLD (f_rn)), 0);
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = ((GTUBI (tmp_t, 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
{
BI opval = SRLSI (GET_H_GRC (FLD (f_rm)), 31);
SET_H_MBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
}
{
BI opval = ((EQSI (SRLSI (GET_H_GRC (FLD (f_rm)), 31), SRLSI (GET_H_GRC (FLD (f_rn)), 31))) ? (0) : (1));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = 0;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
{
BI opval = 0;
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
{
BI opval = 0;
SET_H_MBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), ZEXTBISI (GET_H_TBIT ()));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (NOTBI (tmp_oldq)) {
if (NOTBI (GET_H_MBIT ())) {
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = GTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = LTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = LTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = GTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
{
BI opval = ((EQBI (GET_H_QBIT (), GET_H_MBIT ())) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_DIVU_COMPACT) : /* divu r0, $rn */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+
+ {
+ SI opval = UDIVSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (((UINT) 0)));
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
+
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_MULR_COMPACT) : /* mulr r0, $rn */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+
+ {
+ SI opval = MULSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (((UINT) 0)));
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
+
#undef FLD
}
NEXT (vpc);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = EQSI (GET_H_GRC (FLD (f_rn)), 0);
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = EXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ZEXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
if (GET_H_PRBIT ()) {
{
- DF opval = sh64_fabsd (current_cpu, GET_H_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
+ DF opval = sh64_fabsd (current_cpu, GET_H_FSD (FLD (f_rn)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
- SF opval = sh64_fabss (current_cpu, GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fsdn", 'f', opval);
+ DF opval = sh64_fabss (current_cpu, GET_H_FSD (FLD (f_rn)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (GET_H_PRBIT ()) {
{
- DF opval = sh64_faddd (current_cpu, GET_H_DR (FLD (f_rm)), GET_H_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
+ DF opval = sh64_faddd (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
- SF opval = sh64_fadds (current_cpu, GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", 'f', opval);
+ DF opval = sh64_fadds (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (GET_H_PRBIT ()) {
{
- BI opval = sh64_fcmpeqd (current_cpu, GET_H_DR (FLD (f_rm)), GET_H_DR (FLD (f_rn)));
+ BI opval = sh64_fcmpeqd (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_TBIT (opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
} else {
{
- BI opval = sh64_fcmpeqs (current_cpu, GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
+ BI opval = sh64_fcmpeqs (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_TBIT (opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (GET_H_PRBIT ()) {
{
- BI opval = sh64_fcmpgtd (current_cpu, GET_H_DR (FLD (f_rn)), GET_H_DR (FLD (f_rm)));
+ BI opval = sh64_fcmpgtd (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_TBIT (opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
} else {
{
- BI opval = sh64_fcmpgts (current_cpu, GET_H_FRC (FLD (f_rn)), GET_H_FRC (FLD (f_rm)));
+ BI opval = sh64_fcmpgts (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_TBIT (opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fcnvds_compact.f
+#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SF opval = sh64_fcnvds (current_cpu, GET_H_DRC (FLD (f_dn)));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpul", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fcnvds_compact.f
+#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
DF opval = sh64_fcnvsd (current_cpu, CPU (h_fr[((UINT) 32)]));
SET_H_DRC (FLD (f_dn), opval);
- TRACE_RESULT (current_cpu, abuf, "drn", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (GET_H_PRBIT ()) {
{
- DF opval = sh64_fdivd (current_cpu, GET_H_DR (FLD (f_rn)), GET_H_DR (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
+ DF opval = sh64_fdivd (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
- SF opval = sh64_fdivs (current_cpu, GET_H_FRC (FLD (f_rn)), GET_H_FRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", 'f', opval);
+ DF opval = sh64_fdivs (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-{
- QI tmp_m;
- QI tmp_n;
- SF tmp_res;
- tmp_m = FLD (f_vm);
- tmp_n = FLD (f_vn);
- tmp_res = sh64_fmuls (current_cpu, GET_H_FVC (FLD (f_vm)), GET_H_FVC (FLD (f_vn)));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_FRC (ADDQI (tmp_m, 1)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_FRC (ADDQI (tmp_m, 2)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_FRC (ADDQI (tmp_m, 3)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 3), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-3", 'f', opval);
- }
-}
+sh64_fipr (current_cpu, FLD (f_vm), FLD (f_vn));
#undef FLD
}
NEXT (vpc);
- CASE (sem, INSN_FLDS_COMPACT) : /* flds $frn */
+ CASE (sem, INSN_FLDS_COMPACT) : /* flds $frn, fpul */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
{
SF opval = GET_H_FRC (FLD (f_rn));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpul", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
{
SF opval = sh64_fldi0 (current_cpu);
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
#undef FLD
{
SF opval = sh64_fldi1 (current_cpu);
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
#undef FLD
if (GET_H_PRBIT ()) {
{
DF opval = sh64_floatld (current_cpu, CPU (h_fr[((UINT) 32)]));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
- SF opval = sh64_floatls (current_cpu, CPU (h_fr[((UINT) 32)]));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsdn", 'f', opval);
+ DF opval = sh64_floatls (current_cpu, CPU (h_fr[((UINT) 32)]));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SF opval = sh64_fmacs (current_cpu, GET_H_FRC (((UINT) 0)), GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
#undef FLD
}
NEXT (vpc);
- CASE (sem, INSN_FMOV1_COMPACT) : /* fmov $frm, $frn */
+ CASE (sem, INSN_FMOV1_COMPACT) : /* fmov $fmovm, $fmovn */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GET_H_FRC (FLD (f_rm));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
{
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
+ DF opval = GET_H_FMOV (FLD (f_rm));
+ SET_H_FMOV (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
-}
-} else {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
-}
-}
- abuf->written = written;
#undef FLD
}
NEXT (vpc);
- CASE (sem, INSN_FMOV2_COMPACT) : /* fmov @$rm, $frn */
+ CASE (sem, INSN_FMOV2_COMPACT) : /* fmov @$rm, $fmovn */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (NOTBI (GET_H_SZBIT ())) {
{
- SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
+ DF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
+ SET_H_FMOV (FLD (f_rn), opval);
+ written |= (1 << 4);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
} else {
{
DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
+ SET_H_FMOV (FLD (f_rn), opval);
+ written |= (1 << 4);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
-}
}
abuf->written = written;
}
NEXT (vpc);
- CASE (sem, INSN_FMOV3_COMPACT) : /* fmov @${rm}+, frn */
+ CASE (sem, INSN_FMOV3_COMPACT) : /* fmov @${rm}+, fmovn */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (NOTBI (GET_H_SZBIT ())) {
{
{
- SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
+ DF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
+ SET_H_FMOV (FLD (f_rn), opval);
+ written |= (1 << 4);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ written |= (1 << 5);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
} else {
{
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
{
DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
+ SET_H_FMOV (FLD (f_rn), opval);
+ written |= (1 << 4);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
-}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 8);
SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ written |= (1 << 5);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
}
NEXT (vpc);
- CASE (sem, INSN_FMOV4_COMPACT) : /* fmov @(r0, $rm), $frn */
+ CASE (sem, INSN_FMOV4_COMPACT) : /* fmov @(r0, $rm), $fmovn */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (NOTBI (GET_H_SZBIT ())) {
{
- SF opval = GETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
+ DF opval = GETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
+ SET_H_FMOV (FLD (f_rn), opval);
+ written |= (1 << 5);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
} else {
{
DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
+ SET_H_FMOV (FLD (f_rn), opval);
+ written |= (1 << 5);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
-}
}
abuf->written = written;
}
NEXT (vpc);
- CASE (sem, INSN_FMOV5_COMPACT) : /* fmov $frm, @$rn */
+ CASE (sem, INSN_FMOV5_COMPACT) : /* fmov $fmovm, @$rn */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (NOTBI (GET_H_SZBIT ())) {
{
- SF opval = GET_H_FRC (FLD (f_rm));
+ SF opval = GET_H_FMOV (FLD (f_rm));
SETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ written |= (1 << 4);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
} else {
{
- DF opval = GET_H_DR (FLD (f_rm));
+ DF opval = GET_H_FMOV (FLD (f_rm));
SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
-}
}
abuf->written = written;
}
NEXT (vpc);
- CASE (sem, INSN_FMOV6_COMPACT) : /* fmov $frm, @-$rn */
+ CASE (sem, INSN_FMOV6_COMPACT) : /* fmov $fmovm, @-$rn */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ written |= (1 << 5);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
- SF opval = GET_H_FRC (FLD (f_rm));
+ SF opval = GET_H_FMOV (FLD (f_rm));
SETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ written |= (1 << 4);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
}
} else {
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 8);
SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ written |= (1 << 5);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
-} else {
{
- DF opval = GET_H_DR (FLD (f_rm));
+ DF opval = GET_H_FMOV (FLD (f_rm));
SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
}
-}
}
abuf->written = written;
}
NEXT (vpc);
- CASE (sem, INSN_FMOV7_COMPACT) : /* fmov $frm, @(r0, $rn) */
+ CASE (sem, INSN_FMOV7_COMPACT) : /* fmov $fmovm, @(r0, $rn) */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (NOTBI (GET_H_SZBIT ())) {
{
- SF opval = GET_H_FRC (FLD (f_rm));
+ SF opval = GET_H_FMOV (FLD (f_rm));
SETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ written |= (1 << 5);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
} else {
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
{
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
+ DF opval = GET_H_FMOV (FLD (f_rm));
SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ written |= (1 << 4);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
-} else {
+}
+
+ abuf->written = written;
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_FMOV8_COMPACT) : /* fmov.d @($imm12x8, $rm), $drn */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
{
- DF opval = GET_H_DR (FLD (f_rm));
- SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm12x8)));
+ SET_H_DRC (FLD (f_dn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
}
+
+#undef FLD
}
-}
+ NEXT (vpc);
+
+ CASE (sem, INSN_FMOV9_COMPACT) : /* mov.l $drm, @($imm12x8, $rn) */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_fmov9_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+ {
+ DF opval = GET_H_DRC (FLD (f_dm));
+ SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm12x8)), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ }
- abuf->written = written;
#undef FLD
}
NEXT (vpc);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (GET_H_PRBIT ()) {
{
- DF opval = sh64_fmuld (current_cpu, GET_H_DR (FLD (f_rm)), GET_H_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
+ DF opval = sh64_fmuld (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
- SF opval = sh64_fmuls (current_cpu, GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", 'f', opval);
+ DF opval = sh64_fmuls (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
if (GET_H_PRBIT ()) {
{
- DF opval = sh64_fnegd (current_cpu, GET_H_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
+ DF opval = sh64_fnegd (current_cpu, GET_H_FSD (FLD (f_rn)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
- SF opval = sh64_fnegs (current_cpu, GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fsdn", 'f', opval);
+ DF opval = sh64_fnegs (current_cpu, GET_H_FSD (FLD (f_rn)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = NOTBI (GET_H_FRBIT ());
SET_H_FRBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "frbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frbit", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = NOTBI (GET_H_SZBIT ());
SET_H_SZBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "szbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "szbit", 'x', opval);
}
#undef FLD
if (GET_H_PRBIT ()) {
{
- DF opval = sh64_fsqrtd (current_cpu, GET_H_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
+ DF opval = sh64_fsqrtd (current_cpu, GET_H_FSD (FLD (f_rn)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
- SF opval = sh64_fsqrts (current_cpu, GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fsdn", 'f', opval);
+ DF opval = sh64_fsqrts (current_cpu, GET_H_FSD (FLD (f_rn)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
{
SF opval = CPU (h_fr[((UINT) 32)]);
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
if (GET_H_PRBIT ()) {
{
- DF opval = sh64_fsubd (current_cpu, GET_H_DR (FLD (f_rn)), GET_H_DR (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
+ DF opval = sh64_fsubd (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
- SF opval = sh64_fsubs (current_cpu, GET_H_FRC (FLD (f_rn)), GET_H_FRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", 'f', opval);
+ DF opval = sh64_fsubs (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
+ SET_H_FSD (FLD (f_rn), opval);
+ written |= (1 << 3);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
- SF opval = ((GET_H_PRBIT ()) ? (sh64_ftrcdl (current_cpu, GET_H_DR (FLD (f_rn)))) : (sh64_ftrcsl (current_cpu, GET_H_FRC (FLD (f_rn)))));
+ SF opval = ((GET_H_PRBIT ()) ? (sh64_ftrcdl (current_cpu, GET_H_FSD (FLD (f_rn)))) : (sh64_ftrcsl (current_cpu, GET_H_FSD (FLD (f_rn)))));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpul", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+sh64_ftrv (current_cpu, FLD (f_vn));
+
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_JMP_COMPACT) : /* jmp @$rn */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ SEM_BRANCH_INIT
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+
+{
+ {
+ UDI opval = ADDDI (pc, 2);
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ }
+((void) 0); /*nop*/
+{
+ {
+ UDI opval = GET_H_GRC (FLD (f_rn));
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ }
+}
+((void) 0); /*nop*/
+}
+
+ SEM_BRANCH_FINI (vpc);
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_JSR_COMPACT) : /* jsr @$rn */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ SEM_BRANCH_INIT
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+
+{
{
- QI tmp_n;
- SF tmp_res;
- tmp_n = FLD (f_vn);
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 0)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 4)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 8)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 12)), GET_H_FRC (ADDQI (tmp_n, 3))));
{
- SF opval = tmp_res;
- SET_H_FRC (tmp_n, opval);
- TRACE_RESULT (current_cpu, abuf, "frc-n", 'f', opval);
+ SI opval = ADDDI (pc, 4);
+ SET_H_PR (opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 1)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 5)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 9)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 13)), GET_H_FRC (ADDQI (tmp_n, 3))));
+}
{
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 1), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-1", 'f', opval);
+ UDI opval = ADDDI (pc, 2);
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 2)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 6)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 10)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 14)), GET_H_FRC (ADDQI (tmp_n, 3))));
+((void) 0); /*nop*/
+{
{
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 2), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-2", 'f', opval);
+ UDI opval = GET_H_GRC (FLD (f_rn));
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 3)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 7)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 11)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 15)), GET_H_FRC (ADDQI (tmp_n, 3))));
+}
+((void) 0); /*nop*/
+}
+
+ SEM_BRANCH_FINI (vpc);
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_LDC_GBR_COMPACT) : /* ldc $rn, gbr */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+
{
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 3), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-3", 'f', opval);
+ SI opval = GET_H_GRC (FLD (f_rn));
+ SET_H_GBR (opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
}
-}
#undef FLD
}
NEXT (vpc);
- CASE (sem, INSN_JMP_COMPACT) : /* jmp @$rn */
+ CASE (sem, INSN_LDC_VBR_COMPACT) : /* ldc $rn, vbr */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
#define FLD(f) abuf->fields.sfmt_movw10_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
- SEM_BRANCH_INIT
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-{
{
- UDI opval = GET_H_GRC (FLD (f_rn));
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ SI opval = GET_H_GRC (FLD (f_rn));
+ SET_H_VBR (opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
}
-}
- SEM_BRANCH_FINI (vpc);
#undef FLD
}
NEXT (vpc);
- CASE (sem, INSN_JSR_COMPACT) : /* jsr @$rn */
+ CASE (sem, INSN_LDC_SR_COMPACT) : /* ldc $rn, sr */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
#define FLD(f) abuf->fields.sfmt_movw10_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
- SEM_BRANCH_INIT
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-{
-{
{
- SI opval = ADDDI (pc, 4);
- SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
- }
- {
- UDI opval = GET_H_GRC (FLD (f_rn));
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ SI opval = GET_H_GRC (FLD (f_rn));
+ CPU (h_sr) = opval;
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
-}
-}
- SEM_BRANCH_FINI (vpc);
#undef FLD
}
NEXT (vpc);
- CASE (sem, INSN_LDC_COMPACT) : /* ldc $rn, gbr */
+ CASE (sem, INSN_LDCL_GBR_COMPACT) : /* ldc.l @${rn}+, gbr */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+{
{
- SI opval = GET_H_GRC (FLD (f_rn));
+ SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_GBR (opval);
- TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
+ }
+ {
+ SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
+}
#undef FLD
}
NEXT (vpc);
- CASE (sem, INSN_LDCL_COMPACT) : /* ldc.l @${rn}+, gbr */
+ CASE (sem, INSN_LDCL_VBR_COMPACT) : /* ldc.l @${rn}+, vbr */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
{
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
- SET_H_GBR (opval);
- TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
+ SET_H_VBR (opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = GET_H_GRC (FLD (f_rn));
- SET_H_FPCCR (opval);
- TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
+ CPU (h_fpscr) = opval;
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
}
#undef FLD
{
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
- SET_H_FPCCR (opval);
- TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
+ CPU (h_fpscr) = opval;
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SF opval = SUBWORDSISF (GET_H_GRC (FLD (f_rn)));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpul", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
{
SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpul", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
#undef FLD
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
#undef FLD
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
#undef FLD
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (EQSI (FLD (f_rn), FLD (f_rm))) {
{
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmpry = MULDI (ZEXTSIDI (tmp_x), ZEXTSIDI (tmp_y));
tmp_mac = ORDI (SLLDI (ZEXTSIDI (GET_H_MACH ()), 32), ZEXTSIDI (GET_H_MACL ()));
{
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (EQSI (FLD (f_rn), FLD (f_rm))) {
{
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmpry = MULSI (ZEXTHISI (tmp_x), ZEXTHISI (tmp_y));
if (GET_H_SBIT ()) {
SI opval = 1;
SET_H_MACH (opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
}
{
SI opval = ADDSI (tmp_tmpry, GET_H_MACL ());
SET_H_MACL (opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
} else {
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
DI opval = GET_H_GR (FLD (f_rm));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn64", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
{
SI opval = EXTQIDI (ANDQI (FLD (f_imm8), 255));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
+
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_MOVI20_COMPACT) : /* movi20 #$imm20, $rn */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movi20_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+ {
+ SI opval = FLD (f_imm20);
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
SETMEMUQI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (((UINT) 0)), 3);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (((UINT) 0)), 3);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
SI opval = EXTQISI (tmp_data);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 1);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = EXTQISI (tmp_data);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm)))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "r0", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "r0", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
{
SI opval = GET_H_GRC (((UINT) 0));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm4x4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x4)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "r0", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_imm8x4), ANDDI (ADDDI (pc, 4), INVSI (3))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x4)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
+
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_MOVL12_COMPACT) : /* mov.l @($imm12x4, $rm), $rn */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+ {
+ SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm12x4)));
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
+
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_MOVL13_COMPACT) : /* mov.l $rm, @($imm12x4, $rn) */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+ {
+ SI opval = GET_H_GRC (FLD (f_rm));
+ SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm12x4)), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
SETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
SETMEMHI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
SETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
{
HI opval = SUBWORDSIHI (GET_H_GRC (((UINT) 0)), 1);
SETMEMHI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x2)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
}
NEXT (vpc);
- CASE (sem, INSN_MOVW5_COMPACT) : /* mov.w r0, @($imm4x2, $rn) */
+ CASE (sem, INSN_MOVW5_COMPACT) : /* mov.w r0, @($imm4x2, $rm) */
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
{
HI opval = SUBWORDSIHI (GET_H_GRC (((UINT) 0)), 1);
- SETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm4x2)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ SETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x2)), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
SI opval = EXTHISI (tmp_data);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = EXTHISI (tmp_data);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm)))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x2))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "r0", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDDI (ADDDI (pc, 4), FLD (f_imm8x2))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw11_compact.f
+#define FLD(f) abuf->fields.sfmt_movw5_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x2))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "r0", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = ADDDI (ANDDI (ADDDI (pc, 4), INVSI (3)), FLD (f_imm8x4));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "r0", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = GET_H_GRC (((UINT) 0));
SETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ }
+
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_MOVCOL_COMPACT) : /* movco.l r0, @$rn */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+
+ {
+ SI opval = GET_H_GRC (FLD (f_rn));
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = ZEXTBISI (GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
+
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_MOVUAL_COMPACT) : /* movua.l @$rn, r0 */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+
+ {
+ SI opval = sh64_movua (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
+ SET_H_GRC (((UINT) 0), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
+
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_MOVUAL2_COMPACT) : /* movua.l @$rn+, r0 */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+
+{
+ {
+ SI opval = sh64_movua (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
+ SET_H_GRC (((UINT) 0), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
+ {
+ SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
+}
#undef FLD
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = MULSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = MULSI (EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1)), EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rn)), 1)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = MULSI (ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1)), ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rn)), 1)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = NEGSI (GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = SUBCSI (0, GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_flag;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
DI opval = INVDI (GET_H_GR (FLD (f_rm)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn64", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+{
+ {
+ SI opval = GET_H_GRC (FLD (f_rn));
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
((void) 0); /*nop*/
+}
#undef FLD
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+{
+ {
+ SI opval = GET_H_GRC (FLD (f_rn));
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
((void) 0); /*nop*/
+}
#undef FLD
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+{
+ {
+ SI opval = GET_H_GRC (FLD (f_rn));
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
((void) 0); /*nop*/
+}
#undef FLD
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
DI opval = ORDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn64", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
{
SI opval = ORSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "r0", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
UQI opval = tmp_data;
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-((void) 0); /*nop*/
+sh64_pref (current_cpu, GET_H_GRC (FLD (f_rn)));
#undef FLD
}
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_temp) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rn)), 1), SLLSI (tmp_temp, 31));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_lsbit) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), tmp_temp);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_temp) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rn)), 1), SLLSI (tmp_temp, 31));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_lsbit) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
SEM_BRANCH_INIT
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+{
+ {
+ UDI opval = ADDDI (pc, 2);
+ SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ }
+((void) 0); /*nop*/
{
{
UDI opval = GET_H_PR ();
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
+}
+((void) 0); /*nop*/
}
SEM_BRANCH_FINI (vpc);
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = 1;
SET_H_SBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = 1;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
- QI tmp_shamt;
- tmp_shamt = ANDQI (GET_H_GRC (FLD (f_rm)), 31);
+ SI tmp_shamt;
+ tmp_shamt = ANDSI (GET_H_GRC (FLD (f_rm)), 31);
if (GESI (GET_H_GRC (FLD (f_rm)), 0)) {
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), tmp_shamt);
SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
-if (NEQI (tmp_shamt, 0)) {
+if (NESI (tmp_shamt, 0)) {
{
SI opval = SRASI (GET_H_GRC (FLD (f_rn)), SUBSI (32, tmp_shamt));
SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
if (LTSI (GET_H_GRC (FLD (f_rn)), 0)) {
{
SI opval = NEGSI (1);
SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SI opval = SRASI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
- QI tmp_shamt;
- tmp_shamt = ANDQI (GET_H_GRC (FLD (f_rm)), 31);
+ SI tmp_shamt;
+ tmp_shamt = ANDSI (GET_H_GRC (FLD (f_rm)), 31);
if (GESI (GET_H_GRC (FLD (f_rm)), 0)) {
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), tmp_shamt);
SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
-if (NEQI (tmp_shamt, 0)) {
+if (NESI (tmp_shamt, 0)) {
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), SUBSI (32, tmp_shamt));
SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ written |= (1 << 2);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 8);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 16);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 8);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 16);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = GET_H_GBR ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
+
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_STC_VBR_COMPACT) : /* stc vbr, $rn */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+
+ {
+ SI opval = GET_H_VBR ();
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = GET_H_GBR ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ }
+ {
+ SI opval = tmp_addr;
+ SET_H_GRC (FLD (f_rn), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ }
+}
+
+#undef FLD
+}
+ NEXT (vpc);
+
+ CASE (sem, INSN_STCL_VBR_COMPACT) : /* stc.l vbr, @-$rn */
+{
+ SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+#define FLD(f) abuf->fields.sfmt_movw10_compact.f
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+
+{
+ DI tmp_addr;
+ tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
+ {
+ SI opval = GET_H_VBR ();
+ SETMEMSI (current_cpu, pc, tmp_addr, opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
- SI opval = GET_H_FPCCR ();
+ SI opval = CPU (h_fpscr);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
DI tmp_addr;
tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
{
- SI opval = GET_H_FPCCR ();
+ SI opval = CPU (h_fpscr);
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = SUBWORDSFSI (CPU (h_fr[((UINT) 32)]));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SF opval = CPU (h_fr[((UINT) 32)]);
SETMEMSF (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = GET_H_MACH ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = GET_H_MACH ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = GET_H_MACL ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = GET_H_MACL ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = GET_H_PR ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SI opval = GET_H_PR ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = SUBCSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_flag;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ORSI (SLLSI (tmp_top_half, 16), ORSI (SLLSI (tmp_byte0, 8), tmp_byte1));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rm)), 16), SLLSI (GET_H_GRC (FLD (f_rm)), 16));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
BI opval = ((EQQI (tmp_byte, 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
tmp_byte = ORQI (tmp_byte, 128);
{
UQI opval = tmp_byte;
SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
BI opval = ((EQSI (ANDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn))), 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
BI opval = ((EQSI (ANDSI (GET_H_GRC (((UINT) 0)), ZEXTSISI (FLD (f_imm8))), 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
{
BI opval = ((EQQI (ANDQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8)), 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
DI opval = XORDI (GET_H_GR (FLD (f_rn)), GET_H_GR (FLD (f_rm)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn64", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
- DI opval = XORDI (GET_H_GR (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
- SET_H_GR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "gr-0", 'D', opval);
+ SI opval = XORSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
+ SET_H_GRC (((UINT) 0), opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
{
UQI opval = tmp_data;
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
+#define FLD(f) abuf->fields.sfmt_movl12_compact.f
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rm)), 16), SRLSI (GET_H_GRC (FLD (f_rn)), 16));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD