THIS FILE IS MACHINE GENERATED WITH CGEN.
-Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+Copyright 1996, 1997, 1998, 1999, 2000, 2001 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
#include "cgen-ops.h"
#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
/* This is used so that we can compile two copies of the semantic code,
one with full feature support and one without that runs fast(er).
{
#if WITH_SCACHE_PBB_M32RBF
-#ifdef DEFINE_SWITCH
+#if defined DEFINE_SWITCH || defined FAST_P
/* In the switch case FAST_P is a constant, allowing several optimizations
in any called inline functions. */
vpc = m32rbf_pbb_begin (current_cpu, FAST_P);
#else
+#if 0 /* cgen engine can't handle dynamic fast/full switching yet. */
vpc = m32rbf_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
+#else
+ vpc = m32rbf_pbb_begin (current_cpu, 0);
+#endif
#endif
#endif
}
{
SI opval = ADDSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = ADDSI (* FLD (i_sr), FLD (f_simm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = ANDSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = ANDSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = ORSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = ORSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = XORSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = XORSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = ADDSI (* FLD (i_dr), FLD (f_simm8));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "condbit", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "condbit", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "condbit", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
{
SI opval = ADDSI (ANDSI (pc, -4), 4);
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr-14", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
{
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr-14", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp24);
{
BI opval = LTSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "condbit", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
return vpc;
{
BI opval = LTSI (* FLD (i_src2), FLD (f_simm16));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "condbit", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
return vpc;
{
BI opval = LTUSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "condbit", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
return vpc;
{
BI opval = LTUSI (* FLD (i_src2), FLD (f_simm16));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "condbit", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
return vpc;
SI opval = DIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
SI opval = UDIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
SI opval = MODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
SI opval = UMODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
SI opval = temp0;
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr-14", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = temp1;
static SEM_PC
SEM_FN_NAME (m32rbf,jmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
-#define FLD(f) abuf->fields.sfmt_mvtc.f
+#define FLD(f) abuf->fields.sfmt_jl.f
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = temp1;
* FLD (i_sr) = opval;
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
SI opval = FLD (i_uimm24);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = FLD (f_simm8);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = FLD (f_simm16);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
SI opval = MULSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = * FLD (i_sr);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUM (), 32));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = TRUNCDISI (GET_H_ACCUM ());
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUM (), 16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
static SEM_PC
SEM_FN_NAME (m32rbf,mvfc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
-#define FLD(f) abuf->fields.sfmt_mvfc.f
+#define FLD(f) abuf->fields.sfmt_ld_plus.f
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
{
SI opval = GET_H_CR (FLD (f_r2));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
static SEM_PC
SEM_FN_NAME (m32rbf,mvtc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
-#define FLD(f) abuf->fields.sfmt_mvtc.f
+#define FLD(f) abuf->fields.sfmt_ld_plus.f
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
int UNUSED written = 0;
IADDR UNUSED pc = abuf->addr;
{
USI opval = * FLD (i_sr);
SET_H_CR (FLD (f_r1), opval);
- TRACE_RESULT (current_cpu, abuf, "dcr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
return vpc;
{
SI opval = NEGSI (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = INVSI (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
USI opval = GET_H_CR (((UINT) 14));
SET_H_CR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "cr-6", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
{
SI opval = SLLSI (FLD (f_hi16), 16);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = SLLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = SLLSI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = SLLSI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = SRASI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = SRASI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = SRASI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = SRLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = SRLSI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = SRLSI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = tmp_new_src2;
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "src2", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
SI opval = tmp_new_src2;
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "src2", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
SI opval = SUBSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "condbit", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "condbit", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
{
USI opval = GET_H_CR (((UINT) 6));
SET_H_CR (((UINT) 14), opval);
- TRACE_RESULT (current_cpu, abuf, "cr-14", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
USI opval = ADDSI (pc, 4);
SET_H_CR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "cr-6", 'x', opval);
+ TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);