aboutsummaryrefslogtreecommitdiff
path: root/sim/m32r
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>1998-05-06 22:38:05 +0000
committerDoug Evans <dje@google.com>1998-05-06 22:38:05 +0000
commit40c680ba803bb876c8afb641648bc15d4bedba68 (patch)
treede088e9cbd72c9ff63f15fb44d95956932ebb354 /sim/m32r
parent177dedfb88d7f19eb49e5563d7fa063d4b47273b (diff)
downloadgdb-40c680ba803bb876c8afb641648bc15d4bedba68.zip
gdb-40c680ba803bb876c8afb641648bc15d4bedba68.tar.gz
gdb-40c680ba803bb876c8afb641648bc15d4bedba68.tar.bz2
* sem-switch.c: Regenerate. Redo computed goto label handling.
* sem.c: Regenerate. Call PROFILE_COUNT_INSN. * readx.c: Regenerate. Redo computed goto label handling. * semx.c: Regenerate. Call PROFILE_COUNT_INSN. Finish profiling support. * Makefile.in (stamp-xcpu): Turn on profiling support.
Diffstat (limited to 'sim/m32r')
-rw-r--r--sim/m32r/readx.c258
-rw-r--r--sim/m32r/semx.c623
2 files changed, 632 insertions, 249 deletions
diff --git a/sim/m32r/readx.c b/sim/m32r/readx.c
index 6859c2f..5a4035d 100644
--- a/sim/m32r/readx.c
+++ b/sim/m32r/readx.c
@@ -27,138 +27,138 @@ with this program; if not, write to the Free Software Foundation, Inc.,
/* The labels have the case they have because the enum of insn types
is all uppercase and in the non-stdc case the fmt symbol is built
- into the enum name.
-
- The order here must match the order in m32rx_decode_vars in decode.c. */
-
- static void *labels[] = {
- && case_read_READ_ILLEGAL,
- && case_read_READ_FMT_ADD,
- && case_read_READ_FMT_ADD3,
- && case_read_READ_FMT_ADD,
- && case_read_READ_FMT_AND3,
- && case_read_READ_FMT_ADD,
- && case_read_READ_FMT_OR3,
- && case_read_READ_FMT_ADD,
- && case_read_READ_FMT_AND3,
- && case_read_READ_FMT_ADDI,
- && case_read_READ_FMT_ADDV,
- && case_read_READ_FMT_ADDV3,
- && case_read_READ_FMT_ADDX,
- && case_read_READ_FMT_BC8,
- && case_read_READ_FMT_BC24,
- && case_read_READ_FMT_BEQ,
- && case_read_READ_FMT_BEQZ,
- && case_read_READ_FMT_BEQZ,
- && case_read_READ_FMT_BEQZ,
- && case_read_READ_FMT_BEQZ,
- && case_read_READ_FMT_BEQZ,
- && case_read_READ_FMT_BEQZ,
- && case_read_READ_FMT_BL8,
- && case_read_READ_FMT_BL24,
- && case_read_READ_FMT_BCL8,
- && case_read_READ_FMT_BCL24,
- && case_read_READ_FMT_BC8,
- && case_read_READ_FMT_BC24,
- && case_read_READ_FMT_BEQ,
- && case_read_READ_FMT_BRA8,
- && case_read_READ_FMT_BRA24,
- && case_read_READ_FMT_BCL8,
- && case_read_READ_FMT_BCL24,
- && case_read_READ_FMT_CMP,
- && case_read_READ_FMT_CMPI,
- && case_read_READ_FMT_CMP,
- && case_read_READ_FMT_CMPI,
- && case_read_READ_FMT_CMP,
- && case_read_READ_FMT_CMPZ,
- && case_read_READ_FMT_DIV,
- && case_read_READ_FMT_DIV,
- && case_read_READ_FMT_DIV,
- && case_read_READ_FMT_DIV,
- && case_read_READ_FMT_DIV,
- && case_read_READ_FMT_JC,
- && case_read_READ_FMT_JC,
- && case_read_READ_FMT_JL,
- && case_read_READ_FMT_JMP,
- && case_read_READ_FMT_LD,
- && case_read_READ_FMT_LD_D,
- && case_read_READ_FMT_LDB,
- && case_read_READ_FMT_LDB_D,
- && case_read_READ_FMT_LDH,
- && case_read_READ_FMT_LDH_D,
- && case_read_READ_FMT_LDB,
- && case_read_READ_FMT_LDB_D,
- && case_read_READ_FMT_LDH,
- && case_read_READ_FMT_LDH_D,
- && case_read_READ_FMT_LD_PLUS,
- && case_read_READ_FMT_LD24,
- && case_read_READ_FMT_LDI8,
- && case_read_READ_FMT_LDI16,
- && case_read_READ_FMT_LOCK,
- && case_read_READ_FMT_MACHI_A,
- && case_read_READ_FMT_MACHI_A,
- && case_read_READ_FMT_MACWHI,
- && case_read_READ_FMT_MACWHI,
- && case_read_READ_FMT_ADD,
- && case_read_READ_FMT_MULHI_A,
- && case_read_READ_FMT_MULHI_A,
- && case_read_READ_FMT_MULWHI,
- && case_read_READ_FMT_MULWHI,
- && case_read_READ_FMT_MV,
- && case_read_READ_FMT_MVFACHI_A,
- && case_read_READ_FMT_MVFACHI_A,
- && case_read_READ_FMT_MVFACHI_A,
- && case_read_READ_FMT_MVFC,
- && case_read_READ_FMT_MVTACHI_A,
- && case_read_READ_FMT_MVTACHI_A,
- && case_read_READ_FMT_MVTC,
- && case_read_READ_FMT_MV,
- && case_read_READ_FMT_NOP,
- && case_read_READ_FMT_MV,
- && case_read_READ_FMT_RAC_DSI,
- && case_read_READ_FMT_RAC_DSI,
- && case_read_READ_FMT_RTE,
- && case_read_READ_FMT_SETH,
- && case_read_READ_FMT_ADD,
- && case_read_READ_FMT_SLL3,
- && case_read_READ_FMT_SLLI,
- && case_read_READ_FMT_ADD,
- && case_read_READ_FMT_SLL3,
- && case_read_READ_FMT_SLLI,
- && case_read_READ_FMT_ADD,
- && case_read_READ_FMT_SLL3,
- && case_read_READ_FMT_SLLI,
- && case_read_READ_FMT_ST,
- && case_read_READ_FMT_ST_D,
- && case_read_READ_FMT_STB,
- && case_read_READ_FMT_STB_D,
- && case_read_READ_FMT_STH,
- && case_read_READ_FMT_STH_D,
- && case_read_READ_FMT_ST_PLUS,
- && case_read_READ_FMT_ST_PLUS,
- && case_read_READ_FMT_ADD,
- && case_read_READ_FMT_ADDV,
- && case_read_READ_FMT_ADDX,
- && case_read_READ_FMT_TRAP,
- && case_read_READ_FMT_UNLOCK,
- && case_read_READ_FMT_SATB,
- && case_read_READ_FMT_SATB,
- && case_read_READ_FMT_SAT,
- && case_read_READ_FMT_CMPZ,
- && case_read_READ_FMT_SADD,
- && case_read_READ_FMT_MACWU1,
- && case_read_READ_FMT_MACWHI,
- && case_read_READ_FMT_MULWU1,
- && case_read_READ_FMT_MACWU1,
- && case_read_READ_FMT_SC,
- && case_read_READ_FMT_SC,
- 0
+ into the enum name. */
+
+ static struct {
+ int index;
+ void *label;
+ } labels[] = {
+ { M32RX_XINSN_ILLEGAL, && case_read_READ_ILLEGAL },
+ { M32RX_XINSN_ADD, && case_read_READ_FMT_ADD },
+ { M32RX_XINSN_ADD3, && case_read_READ_FMT_ADD3 },
+ { M32RX_XINSN_AND, && case_read_READ_FMT_ADD },
+ { M32RX_XINSN_AND3, && case_read_READ_FMT_AND3 },
+ { M32RX_XINSN_OR, && case_read_READ_FMT_ADD },
+ { M32RX_XINSN_OR3, && case_read_READ_FMT_OR3 },
+ { M32RX_XINSN_XOR, && case_read_READ_FMT_ADD },
+ { M32RX_XINSN_XOR3, && case_read_READ_FMT_AND3 },
+ { M32RX_XINSN_ADDI, && case_read_READ_FMT_ADDI },
+ { M32RX_XINSN_ADDV, && case_read_READ_FMT_ADDV },
+ { M32RX_XINSN_ADDV3, && case_read_READ_FMT_ADDV3 },
+ { M32RX_XINSN_ADDX, && case_read_READ_FMT_ADDX },
+ { M32RX_XINSN_BC8, && case_read_READ_FMT_BC8 },
+ { M32RX_XINSN_BC24, && case_read_READ_FMT_BC24 },
+ { M32RX_XINSN_BEQ, && case_read_READ_FMT_BEQ },
+ { M32RX_XINSN_BEQZ, && case_read_READ_FMT_BEQZ },
+ { M32RX_XINSN_BGEZ, && case_read_READ_FMT_BEQZ },
+ { M32RX_XINSN_BGTZ, && case_read_READ_FMT_BEQZ },
+ { M32RX_XINSN_BLEZ, && case_read_READ_FMT_BEQZ },
+ { M32RX_XINSN_BLTZ, && case_read_READ_FMT_BEQZ },
+ { M32RX_XINSN_BNEZ, && case_read_READ_FMT_BEQZ },
+ { M32RX_XINSN_BL8, && case_read_READ_FMT_BL8 },
+ { M32RX_XINSN_BL24, && case_read_READ_FMT_BL24 },
+ { M32RX_XINSN_BCL8, && case_read_READ_FMT_BCL8 },
+ { M32RX_XINSN_BCL24, && case_read_READ_FMT_BCL24 },
+ { M32RX_XINSN_BNC8, && case_read_READ_FMT_BC8 },
+ { M32RX_XINSN_BNC24, && case_read_READ_FMT_BC24 },
+ { M32RX_XINSN_BNE, && case_read_READ_FMT_BEQ },
+ { M32RX_XINSN_BRA8, && case_read_READ_FMT_BRA8 },
+ { M32RX_XINSN_BRA24, && case_read_READ_FMT_BRA24 },
+ { M32RX_XINSN_BNCL8, && case_read_READ_FMT_BCL8 },
+ { M32RX_XINSN_BNCL24, && case_read_READ_FMT_BCL24 },
+ { M32RX_XINSN_CMP, && case_read_READ_FMT_CMP },
+ { M32RX_XINSN_CMPI, && case_read_READ_FMT_CMPI },
+ { M32RX_XINSN_CMPU, && case_read_READ_FMT_CMP },
+ { M32RX_XINSN_CMPUI, && case_read_READ_FMT_CMPI },
+ { M32RX_XINSN_CMPEQ, && case_read_READ_FMT_CMP },
+ { M32RX_XINSN_CMPZ, && case_read_READ_FMT_CMPZ },
+ { M32RX_XINSN_DIV, && case_read_READ_FMT_DIV },
+ { M32RX_XINSN_DIVU, && case_read_READ_FMT_DIV },
+ { M32RX_XINSN_REM, && case_read_READ_FMT_DIV },
+ { M32RX_XINSN_REMU, && case_read_READ_FMT_DIV },
+ { M32RX_XINSN_DIVH, && case_read_READ_FMT_DIV },
+ { M32RX_XINSN_JC, && case_read_READ_FMT_JC },
+ { M32RX_XINSN_JNC, && case_read_READ_FMT_JC },
+ { M32RX_XINSN_JL, && case_read_READ_FMT_JL },
+ { M32RX_XINSN_JMP, && case_read_READ_FMT_JMP },
+ { M32RX_XINSN_LD, && case_read_READ_FMT_LD },
+ { M32RX_XINSN_LD_D, && case_read_READ_FMT_LD_D },
+ { M32RX_XINSN_LDB, && case_read_READ_FMT_LDB },
+ { M32RX_XINSN_LDB_D, && case_read_READ_FMT_LDB_D },
+ { M32RX_XINSN_LDH, && case_read_READ_FMT_LDH },
+ { M32RX_XINSN_LDH_D, && case_read_READ_FMT_LDH_D },
+ { M32RX_XINSN_LDUB, && case_read_READ_FMT_LDB },
+ { M32RX_XINSN_LDUB_D, && case_read_READ_FMT_LDB_D },
+ { M32RX_XINSN_LDUH, && case_read_READ_FMT_LDH },
+ { M32RX_XINSN_LDUH_D, && case_read_READ_FMT_LDH_D },
+ { M32RX_XINSN_LD_PLUS, && case_read_READ_FMT_LD_PLUS },
+ { M32RX_XINSN_LD24, && case_read_READ_FMT_LD24 },
+ { M32RX_XINSN_LDI8, && case_read_READ_FMT_LDI8 },
+ { M32RX_XINSN_LDI16, && case_read_READ_FMT_LDI16 },
+ { M32RX_XINSN_LOCK, && case_read_READ_FMT_LOCK },
+ { M32RX_XINSN_MACHI_A, && case_read_READ_FMT_MACHI_A },
+ { M32RX_XINSN_MACLO_A, && case_read_READ_FMT_MACHI_A },
+ { M32RX_XINSN_MACWHI, && case_read_READ_FMT_MACWHI },
+ { M32RX_XINSN_MACWLO, && case_read_READ_FMT_MACWHI },
+ { M32RX_XINSN_MUL, && case_read_READ_FMT_ADD },
+ { M32RX_XINSN_MULHI_A, && case_read_READ_FMT_MULHI_A },
+ { M32RX_XINSN_MULLO_A, && case_read_READ_FMT_MULHI_A },
+ { M32RX_XINSN_MULWHI, && case_read_READ_FMT_MULWHI },
+ { M32RX_XINSN_MULWLO, && case_read_READ_FMT_MULWHI },
+ { M32RX_XINSN_MV, && case_read_READ_FMT_MV },
+ { M32RX_XINSN_MVFACHI_A, && case_read_READ_FMT_MVFACHI_A },
+ { M32RX_XINSN_MVFACLO_A, && case_read_READ_FMT_MVFACHI_A },
+ { M32RX_XINSN_MVFACMI_A, && case_read_READ_FMT_MVFACHI_A },
+ { M32RX_XINSN_MVFC, && case_read_READ_FMT_MVFC },
+ { M32RX_XINSN_MVTACHI_A, && case_read_READ_FMT_MVTACHI_A },
+ { M32RX_XINSN_MVTACLO_A, && case_read_READ_FMT_MVTACHI_A },
+ { M32RX_XINSN_MVTC, && case_read_READ_FMT_MVTC },
+ { M32RX_XINSN_NEG, && case_read_READ_FMT_MV },
+ { M32RX_XINSN_NOP, && case_read_READ_FMT_NOP },
+ { M32RX_XINSN_NOT, && case_read_READ_FMT_MV },
+ { M32RX_XINSN_RAC_DSI, && case_read_READ_FMT_RAC_DSI },
+ { M32RX_XINSN_RACH_DSI, && case_read_READ_FMT_RAC_DSI },
+ { M32RX_XINSN_RTE, && case_read_READ_FMT_RTE },
+ { M32RX_XINSN_SETH, && case_read_READ_FMT_SETH },
+ { M32RX_XINSN_SLL, && case_read_READ_FMT_ADD },
+ { M32RX_XINSN_SLL3, && case_read_READ_FMT_SLL3 },
+ { M32RX_XINSN_SLLI, && case_read_READ_FMT_SLLI },
+ { M32RX_XINSN_SRA, && case_read_READ_FMT_ADD },
+ { M32RX_XINSN_SRA3, && case_read_READ_FMT_SLL3 },
+ { M32RX_XINSN_SRAI, && case_read_READ_FMT_SLLI },
+ { M32RX_XINSN_SRL, && case_read_READ_FMT_ADD },
+ { M32RX_XINSN_SRL3, && case_read_READ_FMT_SLL3 },
+ { M32RX_XINSN_SRLI, && case_read_READ_FMT_SLLI },
+ { M32RX_XINSN_ST, && case_read_READ_FMT_ST },
+ { M32RX_XINSN_ST_D, && case_read_READ_FMT_ST_D },
+ { M32RX_XINSN_STB, && case_read_READ_FMT_STB },
+ { M32RX_XINSN_STB_D, && case_read_READ_FMT_STB_D },
+ { M32RX_XINSN_STH, && case_read_READ_FMT_STH },
+ { M32RX_XINSN_STH_D, && case_read_READ_FMT_STH_D },
+ { M32RX_XINSN_ST_PLUS, && case_read_READ_FMT_ST_PLUS },
+ { M32RX_XINSN_ST_MINUS, && case_read_READ_FMT_ST_PLUS },
+ { M32RX_XINSN_SUB, && case_read_READ_FMT_ADD },
+ { M32RX_XINSN_SUBV, && case_read_READ_FMT_ADDV },
+ { M32RX_XINSN_SUBX, && case_read_READ_FMT_ADDX },
+ { M32RX_XINSN_TRAP, && case_read_READ_FMT_TRAP },
+ { M32RX_XINSN_UNLOCK, && case_read_READ_FMT_UNLOCK },
+ { M32RX_XINSN_SATB, && case_read_READ_FMT_SATB },
+ { M32RX_XINSN_SATH, && case_read_READ_FMT_SATB },
+ { M32RX_XINSN_SAT, && case_read_READ_FMT_SAT },
+ { M32RX_XINSN_PCMPBZ, && case_read_READ_FMT_CMPZ },
+ { M32RX_XINSN_SADD, && case_read_READ_FMT_SADD },
+ { M32RX_XINSN_MACWU1, && case_read_READ_FMT_MACWU1 },
+ { M32RX_XINSN_MSBLO, && case_read_READ_FMT_MACWHI },
+ { M32RX_XINSN_MULWU1, && case_read_READ_FMT_MULWU1 },
+ { M32RX_XINSN_MACLH1, && case_read_READ_FMT_MACWU1 },
+ { M32RX_XINSN_SC, && case_read_READ_FMT_SC },
+ { M32RX_XINSN_SNC, && case_read_READ_FMT_SC },
+ { 0, 0 }
};
- extern DECODE *m32rx_decode_vars[];
int i;
- for (i = 0; m32rx_decode_vars[i] != 0; ++i)
- m32rx_decode_vars[i]->read = labels[i];
+ for (i = 0; labels[i].label != 0; ++i)
+ CPU_IDESC (current_cpu) [labels[i].index].read = labels[i].label;
#endif /* DEFINE_LABELS */
diff --git a/sim/m32r/semx.c b/sim/m32r/semx.c
index 0007eaa..6d8626b 100644
--- a/sim/m32r/semx.c
+++ b/sim/m32r/semx.c
@@ -33,9 +33,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#if ! defined (SCACHE_P) || (defined (SCACHE_P) && WITH_SCACHE)
#undef GET_ATTR
-#define GET_ATTR(cpu, num, attr) CGEN_INSN_ATTR (abuf->opcode, CGEN_INSN_##attr)
+#define GET_ATTR(cpu, num, attr) CGEN_INSN_ATTR (abuf->idesc->opcode, CGEN_INSN_##attr)
+
+/* add: add $dr,$sr. */
-/* Perform add: add $dr,$sr. */
CIA
SEM_FN_NAME (m32rx,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -49,6 +50,8 @@ SEM_FN_NAME (m32rx,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = ADDSI (OPRND (dr), OPRND (sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -62,7 +65,8 @@ SEM_FN_NAME (m32rx,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform add3: add3 $dr,$sr,$hash$slo16. */
+/* add3: add3 $dr,$sr,$hash$slo16. */
+
CIA
SEM_FN_NAME (m32rx,add3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -76,6 +80,8 @@ SEM_FN_NAME (m32rx,add3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = ADDSI (OPRND (sr), OPRND (slo16));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -89,7 +95,8 @@ SEM_FN_NAME (m32rx,add3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform and: and $dr,$sr. */
+/* and: and $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -103,6 +110,8 @@ SEM_FN_NAME (m32rx,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = ANDSI (OPRND (dr), OPRND (sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -116,7 +125,8 @@ SEM_FN_NAME (m32rx,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform and3: and3 $dr,$sr,$uimm16. */
+/* and3: and3 $dr,$sr,$uimm16. */
+
CIA
SEM_FN_NAME (m32rx,and3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -130,6 +140,8 @@ SEM_FN_NAME (m32rx,and3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = ANDSI (OPRND (sr), OPRND (uimm16));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -143,7 +155,8 @@ SEM_FN_NAME (m32rx,and3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform or: or $dr,$sr. */
+/* or: or $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -157,6 +170,8 @@ SEM_FN_NAME (m32rx,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec
CPU (h_gr[f_r1]) = ORSI (OPRND (dr), OPRND (sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -170,7 +185,8 @@ SEM_FN_NAME (m32rx,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec
#undef OPRND
}
-/* Perform or3: or3 $dr,$sr,$hash$ulo16. */
+/* or3: or3 $dr,$sr,$hash$ulo16. */
+
CIA
SEM_FN_NAME (m32rx,or3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -184,6 +200,8 @@ SEM_FN_NAME (m32rx,or3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = ORSI (OPRND (sr), OPRND (ulo16));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -197,7 +215,8 @@ SEM_FN_NAME (m32rx,or3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform xor: xor $dr,$sr. */
+/* xor: xor $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,xor) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -211,6 +230,8 @@ SEM_FN_NAME (m32rx,xor) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = XORSI (OPRND (dr), OPRND (sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -224,7 +245,8 @@ SEM_FN_NAME (m32rx,xor) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform xor3: xor3 $dr,$sr,$uimm16. */
+/* xor3: xor3 $dr,$sr,$uimm16. */
+
CIA
SEM_FN_NAME (m32rx,xor3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -238,6 +260,8 @@ SEM_FN_NAME (m32rx,xor3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = XORSI (OPRND (sr), OPRND (uimm16));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -251,7 +275,8 @@ SEM_FN_NAME (m32rx,xor3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform addi: addi $dr,$simm8. */
+/* addi: addi $dr,$simm8. */
+
CIA
SEM_FN_NAME (m32rx,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -265,6 +290,8 @@ SEM_FN_NAME (m32rx,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = ADDSI (OPRND (dr), OPRND (simm8));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -278,7 +305,8 @@ SEM_FN_NAME (m32rx,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform addv: addv $dr,$sr. */
+/* addv: addv $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,addv) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -299,6 +327,8 @@ do {
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -312,7 +342,8 @@ do {
#undef OPRND
}
-/* Perform addv3: addv3 $dr,$sr,$simm16. */
+/* addv3: addv3 $dr,$sr,$simm16. */
+
CIA
SEM_FN_NAME (m32rx,addv3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -333,6 +364,8 @@ do {
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -346,7 +379,8 @@ do {
#undef OPRND
}
-/* Perform addx: addx $dr,$sr. */
+/* addx: addx $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,addx) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -367,6 +401,8 @@ do {
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -380,7 +416,8 @@ do {
#undef OPRND
}
-/* Perform bc8: bc.s $disp8. */
+/* bc8: bc.s $disp8. */
+
CIA
SEM_FN_NAME (m32rx,bc8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -394,9 +431,12 @@ SEM_FN_NAME (m32rx,bc8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
if (OPRND (condbit)) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp8)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -408,7 +448,8 @@ if (OPRND (condbit)) {
#undef OPRND
}
-/* Perform bc24: bc.l $disp24. */
+/* bc24: bc.l $disp24. */
+
CIA
SEM_FN_NAME (m32rx,bc24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -422,9 +463,12 @@ SEM_FN_NAME (m32rx,bc24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
if (OPRND (condbit)) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp24)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -436,7 +480,8 @@ if (OPRND (condbit)) {
#undef OPRND
}
-/* Perform beq: beq $src1,$src2,$disp16. */
+/* beq: beq $src1,$src2,$disp16. */
+
CIA
SEM_FN_NAME (m32rx,beq) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -450,9 +495,12 @@ SEM_FN_NAME (m32rx,beq) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
if (EQSI (OPRND (src1), OPRND (src2))) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp16)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -465,7 +513,8 @@ if (EQSI (OPRND (src1), OPRND (src2))) {
#undef OPRND
}
-/* Perform beqz: beqz $src2,$disp16. */
+/* beqz: beqz $src2,$disp16. */
+
CIA
SEM_FN_NAME (m32rx,beqz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -479,9 +528,12 @@ SEM_FN_NAME (m32rx,beqz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
if (EQSI (OPRND (src2), 0)) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp16)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -494,7 +546,8 @@ if (EQSI (OPRND (src2), 0)) {
#undef OPRND
}
-/* Perform bgez: bgez $src2,$disp16. */
+/* bgez: bgez $src2,$disp16. */
+
CIA
SEM_FN_NAME (m32rx,bgez) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -508,9 +561,12 @@ SEM_FN_NAME (m32rx,bgez) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
if (GESI (OPRND (src2), 0)) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp16)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -523,7 +579,8 @@ if (GESI (OPRND (src2), 0)) {
#undef OPRND
}
-/* Perform bgtz: bgtz $src2,$disp16. */
+/* bgtz: bgtz $src2,$disp16. */
+
CIA
SEM_FN_NAME (m32rx,bgtz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -537,9 +594,12 @@ SEM_FN_NAME (m32rx,bgtz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
if (GTSI (OPRND (src2), 0)) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp16)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -552,7 +612,8 @@ if (GTSI (OPRND (src2), 0)) {
#undef OPRND
}
-/* Perform blez: blez $src2,$disp16. */
+/* blez: blez $src2,$disp16. */
+
CIA
SEM_FN_NAME (m32rx,blez) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -566,9 +627,12 @@ SEM_FN_NAME (m32rx,blez) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
if (LESI (OPRND (src2), 0)) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp16)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -581,7 +645,8 @@ if (LESI (OPRND (src2), 0)) {
#undef OPRND
}
-/* Perform bltz: bltz $src2,$disp16. */
+/* bltz: bltz $src2,$disp16. */
+
CIA
SEM_FN_NAME (m32rx,bltz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -595,9 +660,12 @@ SEM_FN_NAME (m32rx,bltz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
if (LTSI (OPRND (src2), 0)) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp16)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -610,7 +678,8 @@ if (LTSI (OPRND (src2), 0)) {
#undef OPRND
}
-/* Perform bnez: bnez $src2,$disp16. */
+/* bnez: bnez $src2,$disp16. */
+
CIA
SEM_FN_NAME (m32rx,bnez) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -624,9 +693,12 @@ SEM_FN_NAME (m32rx,bnez) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
if (NESI (OPRND (src2), 0)) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp16)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -639,7 +711,8 @@ if (NESI (OPRND (src2), 0)) {
#undef OPRND
}
-/* Perform bl8: bl.s $disp8. */
+/* bl8: bl.s $disp8. */
+
CIA
SEM_FN_NAME (m32rx,bl8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -655,9 +728,12 @@ do {
CPU (h_gr[14]) = ADDSI (ANDSI (OPRND (pc), -4), 4);
TRACE_RESULT (current_cpu, "h-gr-14", 'x', CPU (h_gr[14]));
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp8)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -670,7 +746,8 @@ do {
#undef OPRND
}
-/* Perform bl24: bl.l $disp24. */
+/* bl24: bl.l $disp24. */
+
CIA
SEM_FN_NAME (m32rx,bl24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -686,9 +763,12 @@ do {
CPU (h_gr[14]) = ADDSI (OPRND (pc), 4);
TRACE_RESULT (current_cpu, "h-gr-14", 'x', CPU (h_gr[14]));
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp24)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -701,7 +781,8 @@ do {
#undef OPRND
}
-/* Perform bcl8: bcl.s $disp8. */
+/* bcl8: bcl.s $disp8. */
+
CIA
SEM_FN_NAME (m32rx,bcl8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -718,10 +799,13 @@ do {
CPU (h_gr[14]) = ADDSI (ANDSI (OPRND (pc), -4), 4);
TRACE_RESULT (current_cpu, "h-gr-14", 'x', CPU (h_gr[14]));
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp8)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
} while (0);
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -734,7 +818,8 @@ do {
#undef OPRND
}
-/* Perform bcl24: bcl.l $disp24. */
+/* bcl24: bcl.l $disp24. */
+
CIA
SEM_FN_NAME (m32rx,bcl24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -751,10 +836,13 @@ do {
CPU (h_gr[14]) = ADDSI (OPRND (pc), 4);
TRACE_RESULT (current_cpu, "h-gr-14", 'x', CPU (h_gr[14]));
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp24)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
} while (0);
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -767,7 +855,8 @@ do {
#undef OPRND
}
-/* Perform bnc8: bnc.s $disp8. */
+/* bnc8: bnc.s $disp8. */
+
CIA
SEM_FN_NAME (m32rx,bnc8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -781,9 +870,12 @@ SEM_FN_NAME (m32rx,bnc8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
if (NOTBI (OPRND (condbit))) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp8)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -795,7 +887,8 @@ if (NOTBI (OPRND (condbit))) {
#undef OPRND
}
-/* Perform bnc24: bnc.l $disp24. */
+/* bnc24: bnc.l $disp24. */
+
CIA
SEM_FN_NAME (m32rx,bnc24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -809,9 +902,12 @@ SEM_FN_NAME (m32rx,bnc24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
if (NOTBI (OPRND (condbit))) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp24)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -823,7 +919,8 @@ if (NOTBI (OPRND (condbit))) {
#undef OPRND
}
-/* Perform bne: bne $src1,$src2,$disp16. */
+/* bne: bne $src1,$src2,$disp16. */
+
CIA
SEM_FN_NAME (m32rx,bne) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -837,9 +934,12 @@ SEM_FN_NAME (m32rx,bne) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
if (NESI (OPRND (src1), OPRND (src2))) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp16)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -852,7 +952,8 @@ if (NESI (OPRND (src1), OPRND (src2))) {
#undef OPRND
}
-/* Perform bra8: bra.s $disp8. */
+/* bra8: bra.s $disp8. */
+
CIA
SEM_FN_NAME (m32rx,bra8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -865,8 +966,11 @@ SEM_FN_NAME (m32rx,bra8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
EXTRACT_FMT_BRA8_CODE
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp8)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -878,7 +982,8 @@ SEM_FN_NAME (m32rx,bra8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform bra24: bra.l $disp24. */
+/* bra24: bra.l $disp24. */
+
CIA
SEM_FN_NAME (m32rx,bra24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -891,8 +996,11 @@ SEM_FN_NAME (m32rx,bra24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
EXTRACT_FMT_BRA24_CODE
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp24)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -904,7 +1012,8 @@ SEM_FN_NAME (m32rx,bra24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
#undef OPRND
}
-/* Perform bncl8: bncl.s $disp8. */
+/* bncl8: bncl.s $disp8. */
+
CIA
SEM_FN_NAME (m32rx,bncl8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -921,10 +1030,13 @@ do {
CPU (h_gr[14]) = ADDSI (ANDSI (OPRND (pc), -4), 4);
TRACE_RESULT (current_cpu, "h-gr-14", 'x', CPU (h_gr[14]));
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp8)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
} while (0);
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -937,7 +1049,8 @@ do {
#undef OPRND
}
-/* Perform bncl24: bncl.l $disp24. */
+/* bncl24: bncl.l $disp24. */
+
CIA
SEM_FN_NAME (m32rx,bncl24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -954,10 +1067,13 @@ do {
CPU (h_gr[14]) = ADDSI (OPRND (pc), 4);
TRACE_RESULT (current_cpu, "h-gr-14", 'x', CPU (h_gr[14]));
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_CACHE (sem_arg, OPRND (disp24)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
} while (0);
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -970,7 +1086,8 @@ do {
#undef OPRND
}
-/* Perform cmp: cmp $src1,$src2. */
+/* cmp: cmp $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,cmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -984,6 +1101,8 @@ SEM_FN_NAME (m32rx,cmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_cond) = LTSI (OPRND (src1), OPRND (src2));
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -996,7 +1115,8 @@ SEM_FN_NAME (m32rx,cmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform cmpi: cmpi $src2,$simm16. */
+/* cmpi: cmpi $src2,$simm16. */
+
CIA
SEM_FN_NAME (m32rx,cmpi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1010,6 +1130,8 @@ SEM_FN_NAME (m32rx,cmpi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_cond) = LTSI (OPRND (src2), OPRND (simm16));
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1022,7 +1144,8 @@ SEM_FN_NAME (m32rx,cmpi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform cmpu: cmpu $src1,$src2. */
+/* cmpu: cmpu $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,cmpu) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1036,6 +1159,8 @@ SEM_FN_NAME (m32rx,cmpu) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_cond) = LTUSI (OPRND (src1), OPRND (src2));
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1048,7 +1173,8 @@ SEM_FN_NAME (m32rx,cmpu) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform cmpui: cmpui $src2,$simm16. */
+/* cmpui: cmpui $src2,$simm16. */
+
CIA
SEM_FN_NAME (m32rx,cmpui) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1062,6 +1188,8 @@ SEM_FN_NAME (m32rx,cmpui) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
CPU (h_cond) = LTUSI (OPRND (src2), OPRND (simm16));
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1074,7 +1202,8 @@ SEM_FN_NAME (m32rx,cmpui) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
#undef OPRND
}
-/* Perform cmpeq: cmpeq $src1,$src2. */
+/* cmpeq: cmpeq $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,cmpeq) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1088,6 +1217,8 @@ SEM_FN_NAME (m32rx,cmpeq) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
CPU (h_cond) = EQSI (OPRND (src1), OPRND (src2));
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1100,7 +1231,8 @@ SEM_FN_NAME (m32rx,cmpeq) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
#undef OPRND
}
-/* Perform cmpz: cmpz $src2. */
+/* cmpz: cmpz $src2. */
+
CIA
SEM_FN_NAME (m32rx,cmpz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1114,6 +1246,8 @@ SEM_FN_NAME (m32rx,cmpz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_cond) = EQSI (OPRND (src2), 0);
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1126,7 +1260,8 @@ SEM_FN_NAME (m32rx,cmpz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform div: div $dr,$sr. */
+/* div: div $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,div) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1142,6 +1277,8 @@ if (NESI (OPRND (sr), 0)) {
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1155,7 +1292,8 @@ if (NESI (OPRND (sr), 0)) {
#undef OPRND
}
-/* Perform divu: divu $dr,$sr. */
+/* divu: divu $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,divu) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1171,6 +1309,8 @@ if (NESI (OPRND (sr), 0)) {
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1184,7 +1324,8 @@ if (NESI (OPRND (sr), 0)) {
#undef OPRND
}
-/* Perform rem: rem $dr,$sr. */
+/* rem: rem $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,rem) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1200,6 +1341,8 @@ if (NESI (OPRND (sr), 0)) {
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1213,7 +1356,8 @@ if (NESI (OPRND (sr), 0)) {
#undef OPRND
}
-/* Perform remu: remu $dr,$sr. */
+/* remu: remu $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,remu) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1229,6 +1373,8 @@ if (NESI (OPRND (sr), 0)) {
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1242,7 +1388,8 @@ if (NESI (OPRND (sr), 0)) {
#undef OPRND
}
-/* Perform divh: divh $dr,$sr. */
+/* divh: divh $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,divh) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1258,6 +1405,8 @@ if (NESI (OPRND (sr), 0)) {
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1271,7 +1420,8 @@ if (NESI (OPRND (sr), 0)) {
#undef OPRND
}
-/* Perform jc: jc $sr. */
+/* jc: jc $sr. */
+
CIA
SEM_FN_NAME (m32rx,jc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1285,9 +1435,12 @@ SEM_FN_NAME (m32rx,jc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec
if (OPRND (condbit)) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_ADDR (sem_arg, ANDSI (OPRND (sr), -4)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1300,7 +1453,8 @@ if (OPRND (condbit)) {
#undef OPRND
}
-/* Perform jnc: jnc $sr. */
+/* jnc: jnc $sr. */
+
CIA
SEM_FN_NAME (m32rx,jnc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1314,9 +1468,12 @@ SEM_FN_NAME (m32rx,jnc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
if (NOTBI (OPRND (condbit))) {
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_ADDR (sem_arg, ANDSI (OPRND (sr), -4)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1329,7 +1486,8 @@ if (NOTBI (OPRND (condbit))) {
#undef OPRND
}
-/* Perform jl: jl $sr. */
+/* jl: jl $sr. */
+
CIA
SEM_FN_NAME (m32rx,jl) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1348,9 +1506,12 @@ do {
CPU (h_gr[14]) = temp0;
TRACE_RESULT (current_cpu, "h-gr-14", 'x', CPU (h_gr[14]));
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_ADDR (sem_arg, temp1));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1364,7 +1525,8 @@ do {
#undef OPRND
}
-/* Perform jmp: jmp $sr. */
+/* jmp: jmp $sr. */
+
CIA
SEM_FN_NAME (m32rx,jmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1377,8 +1539,11 @@ SEM_FN_NAME (m32rx,jmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
EXTRACT_FMT_JMP_CODE
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_ADDR (sem_arg, OPRND (sr)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1391,7 +1556,8 @@ SEM_FN_NAME (m32rx,jmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform ld: ld $dr,@$sr. */
+/* ld: ld $dr,@$sr. */
+
CIA
SEM_FN_NAME (m32rx,ld) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1405,6 +1571,8 @@ SEM_FN_NAME (m32rx,ld) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec
CPU (h_gr[f_r1]) = OPRND (h_memory_sr);
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1418,7 +1586,8 @@ SEM_FN_NAME (m32rx,ld) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec
#undef OPRND
}
-/* Perform ld-d: ld $dr,@($slo16,$sr). */
+/* ld-d: ld $dr,@($slo16,$sr). */
+
CIA
SEM_FN_NAME (m32rx,ld_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1432,6 +1601,8 @@ SEM_FN_NAME (m32rx,ld_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = OPRND (h_memory_add_WI_sr_slo16);
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1445,7 +1616,8 @@ SEM_FN_NAME (m32rx,ld_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform ldb: ldb $dr,@$sr. */
+/* ldb: ldb $dr,@$sr. */
+
CIA
SEM_FN_NAME (m32rx,ldb) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1459,6 +1631,8 @@ SEM_FN_NAME (m32rx,ldb) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = EXTQISI (OPRND (h_memory_sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1472,7 +1646,8 @@ SEM_FN_NAME (m32rx,ldb) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform ldb-d: ldb $dr,@($slo16,$sr). */
+/* ldb-d: ldb $dr,@($slo16,$sr). */
+
CIA
SEM_FN_NAME (m32rx,ldb_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1486,6 +1661,8 @@ SEM_FN_NAME (m32rx,ldb_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
CPU (h_gr[f_r1]) = EXTQISI (OPRND (h_memory_add_WI_sr_slo16));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1499,7 +1676,8 @@ SEM_FN_NAME (m32rx,ldb_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
#undef OPRND
}
-/* Perform ldh: ldh $dr,@$sr. */
+/* ldh: ldh $dr,@$sr. */
+
CIA
SEM_FN_NAME (m32rx,ldh) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1513,6 +1691,8 @@ SEM_FN_NAME (m32rx,ldh) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = EXTHISI (OPRND (h_memory_sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1526,7 +1706,8 @@ SEM_FN_NAME (m32rx,ldh) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform ldh-d: ldh $dr,@($slo16,$sr). */
+/* ldh-d: ldh $dr,@($slo16,$sr). */
+
CIA
SEM_FN_NAME (m32rx,ldh_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1540,6 +1721,8 @@ SEM_FN_NAME (m32rx,ldh_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
CPU (h_gr[f_r1]) = EXTHISI (OPRND (h_memory_add_WI_sr_slo16));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1553,7 +1736,8 @@ SEM_FN_NAME (m32rx,ldh_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
#undef OPRND
}
-/* Perform ldub: ldub $dr,@$sr. */
+/* ldub: ldub $dr,@$sr. */
+
CIA
SEM_FN_NAME (m32rx,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1567,6 +1751,8 @@ SEM_FN_NAME (m32rx,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = ZEXTQISI (OPRND (h_memory_sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1580,7 +1766,8 @@ SEM_FN_NAME (m32rx,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform ldub-d: ldub $dr,@($slo16,$sr). */
+/* ldub-d: ldub $dr,@($slo16,$sr). */
+
CIA
SEM_FN_NAME (m32rx,ldub_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1594,6 +1781,8 @@ SEM_FN_NAME (m32rx,ldub_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
CPU (h_gr[f_r1]) = ZEXTQISI (OPRND (h_memory_add_WI_sr_slo16));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1607,7 +1796,8 @@ SEM_FN_NAME (m32rx,ldub_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
#undef OPRND
}
-/* Perform lduh: lduh $dr,@$sr. */
+/* lduh: lduh $dr,@$sr. */
+
CIA
SEM_FN_NAME (m32rx,lduh) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1621,6 +1811,8 @@ SEM_FN_NAME (m32rx,lduh) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = ZEXTHISI (OPRND (h_memory_sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1634,7 +1826,8 @@ SEM_FN_NAME (m32rx,lduh) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform lduh-d: lduh $dr,@($slo16,$sr). */
+/* lduh-d: lduh $dr,@($slo16,$sr). */
+
CIA
SEM_FN_NAME (m32rx,lduh_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1648,6 +1841,8 @@ SEM_FN_NAME (m32rx,lduh_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
CPU (h_gr[f_r1]) = ZEXTHISI (OPRND (h_memory_add_WI_sr_slo16));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1661,7 +1856,8 @@ SEM_FN_NAME (m32rx,lduh_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
#undef OPRND
}
-/* Perform ld-plus: ld $dr,@$sr+. */
+/* ld-plus: ld $dr,@$sr+. */
+
CIA
SEM_FN_NAME (m32rx,ld_plus) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1682,6 +1878,8 @@ do {
TRACE_RESULT (current_cpu, "sr", 'x', CPU (h_gr[f_r2]));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1695,7 +1893,8 @@ do {
#undef OPRND
}
-/* Perform ld24: ld24 $dr,$uimm24. */
+/* ld24: ld24 $dr,$uimm24. */
+
CIA
SEM_FN_NAME (m32rx,ld24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1709,6 +1908,8 @@ SEM_FN_NAME (m32rx,ld24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = OPRND (uimm24);
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1721,7 +1922,8 @@ SEM_FN_NAME (m32rx,ld24) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform ldi8: ldi8 $dr,$simm8. */
+/* ldi8: ldi8 $dr,$simm8. */
+
CIA
SEM_FN_NAME (m32rx,ldi8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1735,6 +1937,8 @@ SEM_FN_NAME (m32rx,ldi8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = OPRND (simm8);
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1747,7 +1951,8 @@ SEM_FN_NAME (m32rx,ldi8) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform ldi16: ldi16 $dr,$hash$slo16. */
+/* ldi16: ldi16 $dr,$hash$slo16. */
+
CIA
SEM_FN_NAME (m32rx,ldi16) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1761,6 +1966,8 @@ SEM_FN_NAME (m32rx,ldi16) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
CPU (h_gr[f_r1]) = OPRND (slo16);
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1773,7 +1980,8 @@ SEM_FN_NAME (m32rx,ldi16) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
#undef OPRND
}
-/* Perform lock: lock $dr,@$sr. */
+/* lock: lock $dr,@$sr. */
+
CIA
SEM_FN_NAME (m32rx,lock) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1791,6 +1999,8 @@ do {
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1804,7 +2014,8 @@ do {
#undef OPRND
}
-/* Perform machi-a: machi $src1,$src2,$acc. */
+/* machi-a: machi $src1,$src2,$acc. */
+
CIA
SEM_FN_NAME (m32rx,machi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1818,6 +2029,8 @@ SEM_FN_NAME (m32rx,machi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par
m32rx_h_accums_set (current_cpu, f_acc, SRADI (SLLDI (ADDDI (OPRND (acc), MULDI (EXTSIDI (ANDSI (OPRND (src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (OPRND (src2), 16))))), 8), 8));
TRACE_RESULT (current_cpu, "acc", 'D', m32rx_h_accums_get (current_cpu, f_acc));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1830,7 +2043,8 @@ m32rx_h_accums_set (current_cpu, f_acc, SRADI (SLLDI (ADDDI (OPRND (acc), MULDI
#undef OPRND
}
-/* Perform maclo-a: maclo $src1,$src2,$acc. */
+/* maclo-a: maclo $src1,$src2,$acc. */
+
CIA
SEM_FN_NAME (m32rx,maclo_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1844,6 +2058,8 @@ SEM_FN_NAME (m32rx,maclo_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par
m32rx_h_accums_set (current_cpu, f_acc, SRADI (SLLDI (ADDDI (OPRND (acc), MULDI (EXTSIDI (SLLSI (OPRND (src1), 16)), EXTHIDI (TRUNCSIHI (OPRND (src2))))), 8), 8));
TRACE_RESULT (current_cpu, "acc", 'D', m32rx_h_accums_get (current_cpu, f_acc));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1856,7 +2072,8 @@ m32rx_h_accums_set (current_cpu, f_acc, SRADI (SLLDI (ADDDI (OPRND (acc), MULDI
#undef OPRND
}
-/* Perform macwhi: macwhi $src1,$src2. */
+/* macwhi: macwhi $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,macwhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1870,6 +2087,8 @@ SEM_FN_NAME (m32rx,macwhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
m32rx_h_accum_set (current_cpu, SRADI (SLLDI (ADDDI (OPRND (accum), MULDI (EXTSIDI (OPRND (src1)), EXTHIDI (TRUNCSIHI (SRASI (OPRND (src2), 16))))), 8), 8));
TRACE_RESULT (current_cpu, "accum", 'D', m32rx_h_accum_get (current_cpu));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1882,7 +2101,8 @@ m32rx_h_accum_set (current_cpu, SRADI (SLLDI (ADDDI (OPRND (accum), MULDI (EXTSI
#undef OPRND
}
-/* Perform macwlo: macwlo $src1,$src2. */
+/* macwlo: macwlo $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,macwlo) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1896,6 +2116,8 @@ SEM_FN_NAME (m32rx,macwlo) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
m32rx_h_accum_set (current_cpu, SRADI (SLLDI (ADDDI (OPRND (accum), MULDI (EXTSIDI (OPRND (src1)), EXTHIDI (TRUNCSIHI (OPRND (src2))))), 8), 8));
TRACE_RESULT (current_cpu, "accum", 'D', m32rx_h_accum_get (current_cpu));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1908,7 +2130,8 @@ m32rx_h_accum_set (current_cpu, SRADI (SLLDI (ADDDI (OPRND (accum), MULDI (EXTSI
#undef OPRND
}
-/* Perform mul: mul $dr,$sr. */
+/* mul: mul $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,mul) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1922,6 +2145,8 @@ SEM_FN_NAME (m32rx,mul) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = MULSI (OPRND (dr), OPRND (sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1935,7 +2160,8 @@ SEM_FN_NAME (m32rx,mul) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform mulhi-a: mulhi $src1,$src2,$acc. */
+/* mulhi-a: mulhi $src1,$src2,$acc. */
+
CIA
SEM_FN_NAME (m32rx,mulhi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1949,6 +2175,8 @@ SEM_FN_NAME (m32rx,mulhi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par
m32rx_h_accums_set (current_cpu, f_acc, SRADI (SLLDI (MULDI (EXTSIDI (ANDSI (OPRND (src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (OPRND (src2), 16)))), 16), 16));
TRACE_RESULT (current_cpu, "acc", 'D', m32rx_h_accums_get (current_cpu, f_acc));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1961,7 +2189,8 @@ m32rx_h_accums_set (current_cpu, f_acc, SRADI (SLLDI (MULDI (EXTSIDI (ANDSI (OPR
#undef OPRND
}
-/* Perform mullo-a: mullo $src1,$src2,$acc. */
+/* mullo-a: mullo $src1,$src2,$acc. */
+
CIA
SEM_FN_NAME (m32rx,mullo_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -1975,6 +2204,8 @@ SEM_FN_NAME (m32rx,mullo_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par
m32rx_h_accums_set (current_cpu, f_acc, SRADI (SLLDI (MULDI (EXTSIDI (SLLSI (OPRND (src1), 16)), EXTHIDI (TRUNCSIHI (OPRND (src2)))), 16), 16));
TRACE_RESULT (current_cpu, "acc", 'D', m32rx_h_accums_get (current_cpu, f_acc));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -1987,7 +2218,8 @@ m32rx_h_accums_set (current_cpu, f_acc, SRADI (SLLDI (MULDI (EXTSIDI (SLLSI (OPR
#undef OPRND
}
-/* Perform mulwhi: mulwhi $src1,$src2. */
+/* mulwhi: mulwhi $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,mulwhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2001,6 +2233,8 @@ SEM_FN_NAME (m32rx,mulwhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
m32rx_h_accum_set (current_cpu, SRADI (SLLDI (MULDI (EXTSIDI (OPRND (src1)), EXTHIDI (TRUNCSIHI (SRASI (OPRND (src2), 16)))), 8), 8));
TRACE_RESULT (current_cpu, "accum", 'D', m32rx_h_accum_get (current_cpu));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2013,7 +2247,8 @@ m32rx_h_accum_set (current_cpu, SRADI (SLLDI (MULDI (EXTSIDI (OPRND (src1)), EXT
#undef OPRND
}
-/* Perform mulwlo: mulwlo $src1,$src2. */
+/* mulwlo: mulwlo $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,mulwlo) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2027,6 +2262,8 @@ SEM_FN_NAME (m32rx,mulwlo) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
m32rx_h_accum_set (current_cpu, SRADI (SLLDI (MULDI (EXTSIDI (OPRND (src1)), EXTHIDI (TRUNCSIHI (OPRND (src2)))), 8), 8));
TRACE_RESULT (current_cpu, "accum", 'D', m32rx_h_accum_get (current_cpu));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2039,7 +2276,8 @@ m32rx_h_accum_set (current_cpu, SRADI (SLLDI (MULDI (EXTSIDI (OPRND (src1)), EXT
#undef OPRND
}
-/* Perform mv: mv $dr,$sr. */
+/* mv: mv $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,mv) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2053,6 +2291,8 @@ SEM_FN_NAME (m32rx,mv) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec
CPU (h_gr[f_r1]) = OPRND (sr);
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2066,7 +2306,8 @@ SEM_FN_NAME (m32rx,mv) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec
#undef OPRND
}
-/* Perform mvfachi-a: mvfachi $dr,$accs. */
+/* mvfachi-a: mvfachi $dr,$accs. */
+
CIA
SEM_FN_NAME (m32rx,mvfachi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2080,6 +2321,8 @@ SEM_FN_NAME (m32rx,mvfachi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *p
CPU (h_gr[f_r1]) = TRUNCDISI (SRADI (OPRND (accs), 32));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2092,7 +2335,8 @@ SEM_FN_NAME (m32rx,mvfachi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *p
#undef OPRND
}
-/* Perform mvfaclo-a: mvfaclo $dr,$accs. */
+/* mvfaclo-a: mvfaclo $dr,$accs. */
+
CIA
SEM_FN_NAME (m32rx,mvfaclo_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2106,6 +2350,8 @@ SEM_FN_NAME (m32rx,mvfaclo_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *p
CPU (h_gr[f_r1]) = TRUNCDISI (OPRND (accs));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2118,7 +2364,8 @@ SEM_FN_NAME (m32rx,mvfaclo_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *p
#undef OPRND
}
-/* Perform mvfacmi-a: mvfacmi $dr,$accs. */
+/* mvfacmi-a: mvfacmi $dr,$accs. */
+
CIA
SEM_FN_NAME (m32rx,mvfacmi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2132,6 +2379,8 @@ SEM_FN_NAME (m32rx,mvfacmi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *p
CPU (h_gr[f_r1]) = TRUNCDISI (SRADI (OPRND (accs), 16));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2144,7 +2393,8 @@ SEM_FN_NAME (m32rx,mvfacmi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *p
#undef OPRND
}
-/* Perform mvfc: mvfc $dr,$scr. */
+/* mvfc: mvfc $dr,$scr. */
+
CIA
SEM_FN_NAME (m32rx,mvfc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2158,6 +2408,8 @@ SEM_FN_NAME (m32rx,mvfc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = OPRND (scr);
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2170,7 +2422,8 @@ SEM_FN_NAME (m32rx,mvfc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform mvtachi-a: mvtachi $src1,$accs. */
+/* mvtachi-a: mvtachi $src1,$accs. */
+
CIA
SEM_FN_NAME (m32rx,mvtachi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2184,6 +2437,8 @@ SEM_FN_NAME (m32rx,mvtachi_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *p
m32rx_h_accums_set (current_cpu, f_accs, ORDI (ANDDI (OPRND (accs), MAKEDI (0, 0xffffffff)), SLLDI (EXTSIDI (OPRND (src1)), 32)));
TRACE_RESULT (current_cpu, "accs", 'D', m32rx_h_accums_get (current_cpu, f_accs));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2196,7 +2451,8 @@ m32rx_h_accums_set (current_cpu, f_accs, ORDI (ANDDI (OPRND (accs), MAKEDI (0, 0
#undef OPRND
}
-/* Perform mvtaclo-a: mvtaclo $src1,$accs. */
+/* mvtaclo-a: mvtaclo $src1,$accs. */
+
CIA
SEM_FN_NAME (m32rx,mvtaclo_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2210,6 +2466,8 @@ SEM_FN_NAME (m32rx,mvtaclo_a) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *p
m32rx_h_accums_set (current_cpu, f_accs, ORDI (ANDDI (OPRND (accs), MAKEDI (0xffffffff, 0)), ZEXTSIDI (OPRND (src1))));
TRACE_RESULT (current_cpu, "accs", 'D', m32rx_h_accums_get (current_cpu, f_accs));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2222,7 +2480,8 @@ m32rx_h_accums_set (current_cpu, f_accs, ORDI (ANDDI (OPRND (accs), MAKEDI (0xff
#undef OPRND
}
-/* Perform mvtc: mvtc $sr,$dcr. */
+/* mvtc: mvtc $sr,$dcr. */
+
CIA
SEM_FN_NAME (m32rx,mvtc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2236,6 +2495,8 @@ SEM_FN_NAME (m32rx,mvtc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
m32rx_h_cr_set (current_cpu, f_r1, OPRND (sr));
TRACE_RESULT (current_cpu, "dcr", 'x', m32rx_h_cr_get (current_cpu, f_r1));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2248,7 +2509,8 @@ m32rx_h_cr_set (current_cpu, f_r1, OPRND (sr));
#undef OPRND
}
-/* Perform neg: neg $dr,$sr. */
+/* neg: neg $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,neg) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2262,6 +2524,8 @@ SEM_FN_NAME (m32rx,neg) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = NEGSI (OPRND (sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2275,7 +2539,8 @@ SEM_FN_NAME (m32rx,neg) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform nop: nop. */
+/* nop: nop. */
+
CIA
SEM_FN_NAME (m32rx,nop) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2288,6 +2553,8 @@ SEM_FN_NAME (m32rx,nop) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2299,7 +2566,8 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
#undef OPRND
}
-/* Perform not: not $dr,$sr. */
+/* not: not $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,not) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2313,6 +2581,8 @@ SEM_FN_NAME (m32rx,not) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = INVSI (OPRND (sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2326,7 +2596,8 @@ SEM_FN_NAME (m32rx,not) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform rac-dsi: rac $accd,$accs,$imm1. */
+/* rac-dsi: rac $accd,$accs,$imm1. */
+
CIA
SEM_FN_NAME (m32rx,rac_dsi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2345,6 +2616,8 @@ m32rx_h_accums_set (current_cpu, f_accd, (GTDI (tmp_tmp1, MAKEDI (32767, 0xffff0
TRACE_RESULT (current_cpu, "accd", 'D', m32rx_h_accums_get (current_cpu, f_accd));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2356,7 +2629,8 @@ m32rx_h_accums_set (current_cpu, f_accd, (GTDI (tmp_tmp1, MAKEDI (32767, 0xffff0
#undef OPRND
}
-/* Perform rach-dsi: rach $accd,$accs,$imm1. */
+/* rach-dsi: rach $accd,$accs,$imm1. */
+
CIA
SEM_FN_NAME (m32rx,rach_dsi) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2375,6 +2649,8 @@ m32rx_h_accums_set (current_cpu, f_accd, (GTDI (tmp_tmp1, MAKEDI (32767, 0))) ?
TRACE_RESULT (current_cpu, "accd", 'D', m32rx_h_accums_get (current_cpu, f_accd));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2386,7 +2662,8 @@ m32rx_h_accums_set (current_cpu, f_accd, (GTDI (tmp_tmp1, MAKEDI (32767, 0))) ?
#undef OPRND
}
-/* Perform rte: rte. */
+/* rte: rte. */
+
CIA
SEM_FN_NAME (m32rx,rte) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2406,9 +2683,12 @@ do {
CPU (h_cond) = OPRND (h_bcond_0);
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_ADDR (sem_arg, ANDSI (OPRND (h_bpc_0), -4)));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2420,7 +2700,8 @@ do {
#undef OPRND
}
-/* Perform seth: seth $dr,$hash$hi16. */
+/* seth: seth $dr,$hash$hi16. */
+
CIA
SEM_FN_NAME (m32rx,seth) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2434,6 +2715,8 @@ SEM_FN_NAME (m32rx,seth) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = SLLSI (OPRND (hi16), 16);
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2446,7 +2729,8 @@ SEM_FN_NAME (m32rx,seth) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform sll: sll $dr,$sr. */
+/* sll: sll $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,sll) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2460,6 +2744,8 @@ SEM_FN_NAME (m32rx,sll) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = SLLSI (OPRND (dr), ANDSI (OPRND (sr), 31));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2473,7 +2759,8 @@ SEM_FN_NAME (m32rx,sll) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform sll3: sll3 $dr,$sr,$simm16. */
+/* sll3: sll3 $dr,$sr,$simm16. */
+
CIA
SEM_FN_NAME (m32rx,sll3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2487,6 +2774,8 @@ SEM_FN_NAME (m32rx,sll3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = SLLSI (OPRND (sr), ANDSI (OPRND (simm16), 31));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2500,7 +2789,8 @@ SEM_FN_NAME (m32rx,sll3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform slli: slli $dr,$uimm5. */
+/* slli: slli $dr,$uimm5. */
+
CIA
SEM_FN_NAME (m32rx,slli) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2514,6 +2804,8 @@ SEM_FN_NAME (m32rx,slli) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = SLLSI (OPRND (dr), OPRND (uimm5));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2527,7 +2819,8 @@ SEM_FN_NAME (m32rx,slli) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform sra: sra $dr,$sr. */
+/* sra: sra $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,sra) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2541,6 +2834,8 @@ SEM_FN_NAME (m32rx,sra) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = SRASI (OPRND (dr), ANDSI (OPRND (sr), 31));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2554,7 +2849,8 @@ SEM_FN_NAME (m32rx,sra) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform sra3: sra3 $dr,$sr,$simm16. */
+/* sra3: sra3 $dr,$sr,$simm16. */
+
CIA
SEM_FN_NAME (m32rx,sra3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2568,6 +2864,8 @@ SEM_FN_NAME (m32rx,sra3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = SRASI (OPRND (sr), ANDSI (OPRND (simm16), 31));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2581,7 +2879,8 @@ SEM_FN_NAME (m32rx,sra3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform srai: srai $dr,$uimm5. */
+/* srai: srai $dr,$uimm5. */
+
CIA
SEM_FN_NAME (m32rx,srai) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2595,6 +2894,8 @@ SEM_FN_NAME (m32rx,srai) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = SRASI (OPRND (dr), OPRND (uimm5));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2608,7 +2909,8 @@ SEM_FN_NAME (m32rx,srai) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform srl: srl $dr,$sr. */
+/* srl: srl $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,srl) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2622,6 +2924,8 @@ SEM_FN_NAME (m32rx,srl) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = SRLSI (OPRND (dr), ANDSI (OPRND (sr), 31));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2635,7 +2939,8 @@ SEM_FN_NAME (m32rx,srl) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform srl3: srl3 $dr,$sr,$simm16. */
+/* srl3: srl3 $dr,$sr,$simm16. */
+
CIA
SEM_FN_NAME (m32rx,srl3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2649,6 +2954,8 @@ SEM_FN_NAME (m32rx,srl3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = SRLSI (OPRND (sr), ANDSI (OPRND (simm16), 31));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2662,7 +2969,8 @@ SEM_FN_NAME (m32rx,srl3) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform srli: srli $dr,$uimm5. */
+/* srli: srli $dr,$uimm5. */
+
CIA
SEM_FN_NAME (m32rx,srli) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2676,6 +2984,8 @@ SEM_FN_NAME (m32rx,srli) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = SRLSI (OPRND (dr), OPRND (uimm5));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2689,7 +2999,8 @@ SEM_FN_NAME (m32rx,srli) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform st: st $src1,@$src2. */
+/* st: st $src1,@$src2. */
+
CIA
SEM_FN_NAME (m32rx,st) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2703,6 +3014,8 @@ SEM_FN_NAME (m32rx,st) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec
SETMEMSI (current_cpu, OPRND (src2), OPRND (src1));
TRACE_RESULT (current_cpu, "h-memory-src2", 'x', GETMEMSI (current_cpu, OPRND (src2)));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2715,7 +3028,8 @@ SETMEMSI (current_cpu, OPRND (src2), OPRND (src1));
#undef OPRND
}
-/* Perform st-d: st $src1,@($slo16,$src2). */
+/* st-d: st $src1,@($slo16,$src2). */
+
CIA
SEM_FN_NAME (m32rx,st_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2729,6 +3043,8 @@ SEM_FN_NAME (m32rx,st_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
SETMEMSI (current_cpu, ADDSI (OPRND (src2), OPRND (slo16)), OPRND (src1));
TRACE_RESULT (current_cpu, "h-memory-add-WI-src2-slo16", 'x', GETMEMSI (current_cpu, ADDSI (OPRND (src2), OPRND (slo16))));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2741,7 +3057,8 @@ SETMEMSI (current_cpu, ADDSI (OPRND (src2), OPRND (slo16)), OPRND (src1));
#undef OPRND
}
-/* Perform stb: stb $src1,@$src2. */
+/* stb: stb $src1,@$src2. */
+
CIA
SEM_FN_NAME (m32rx,stb) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2755,6 +3072,8 @@ SEM_FN_NAME (m32rx,stb) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
SETMEMQI (current_cpu, OPRND (src2), OPRND (src1));
TRACE_RESULT (current_cpu, "h-memory-src2", 'x', GETMEMQI (current_cpu, OPRND (src2)));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2767,7 +3086,8 @@ SETMEMQI (current_cpu, OPRND (src2), OPRND (src1));
#undef OPRND
}
-/* Perform stb-d: stb $src1,@($slo16,$src2). */
+/* stb-d: stb $src1,@($slo16,$src2). */
+
CIA
SEM_FN_NAME (m32rx,stb_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2781,6 +3101,8 @@ SEM_FN_NAME (m32rx,stb_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
SETMEMQI (current_cpu, ADDSI (OPRND (src2), OPRND (slo16)), OPRND (src1));
TRACE_RESULT (current_cpu, "h-memory-add-WI-src2-slo16", 'x', GETMEMQI (current_cpu, ADDSI (OPRND (src2), OPRND (slo16))));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2793,7 +3115,8 @@ SETMEMQI (current_cpu, ADDSI (OPRND (src2), OPRND (slo16)), OPRND (src1));
#undef OPRND
}
-/* Perform sth: sth $src1,@$src2. */
+/* sth: sth $src1,@$src2. */
+
CIA
SEM_FN_NAME (m32rx,sth) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2807,6 +3130,8 @@ SEM_FN_NAME (m32rx,sth) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
SETMEMHI (current_cpu, OPRND (src2), OPRND (src1));
TRACE_RESULT (current_cpu, "h-memory-src2", 'x', GETMEMHI (current_cpu, OPRND (src2)));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2819,7 +3144,8 @@ SETMEMHI (current_cpu, OPRND (src2), OPRND (src1));
#undef OPRND
}
-/* Perform sth-d: sth $src1,@($slo16,$src2). */
+/* sth-d: sth $src1,@($slo16,$src2). */
+
CIA
SEM_FN_NAME (m32rx,sth_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2833,6 +3159,8 @@ SEM_FN_NAME (m32rx,sth_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
SETMEMHI (current_cpu, ADDSI (OPRND (src2), OPRND (slo16)), OPRND (src1));
TRACE_RESULT (current_cpu, "h-memory-add-WI-src2-slo16", 'x', GETMEMHI (current_cpu, ADDSI (OPRND (src2), OPRND (slo16))));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2845,7 +3173,8 @@ SETMEMHI (current_cpu, ADDSI (OPRND (src2), OPRND (slo16)), OPRND (src1));
#undef OPRND
}
-/* Perform st-plus: st $src1,@+$src2. */
+/* st-plus: st $src1,@+$src2. */
+
CIA
SEM_FN_NAME (m32rx,st_plus) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2865,6 +3194,8 @@ SETMEMSI (current_cpu, tmp_new_src2, OPRND (src1));
TRACE_RESULT (current_cpu, "src2", 'x', CPU (h_gr[f_r2]));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2878,7 +3209,8 @@ SETMEMSI (current_cpu, tmp_new_src2, OPRND (src1));
#undef OPRND
}
-/* Perform st-minus: st $src1,@-$src2. */
+/* st-minus: st $src1,@-$src2. */
+
CIA
SEM_FN_NAME (m32rx,st_minus) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2898,6 +3230,8 @@ SETMEMSI (current_cpu, tmp_new_src2, OPRND (src1));
TRACE_RESULT (current_cpu, "src2", 'x', CPU (h_gr[f_r2]));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2911,7 +3245,8 @@ SETMEMSI (current_cpu, tmp_new_src2, OPRND (src1));
#undef OPRND
}
-/* Perform sub: sub $dr,$sr. */
+/* sub: sub $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2925,6 +3260,8 @@ SEM_FN_NAME (m32rx,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = SUBSI (OPRND (dr), OPRND (sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2938,7 +3275,8 @@ SEM_FN_NAME (m32rx,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform subv: subv $dr,$sr. */
+/* subv: subv $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,subv) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2959,6 +3297,8 @@ do {
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -2972,7 +3312,8 @@ do {
#undef OPRND
}
-/* Perform subx: subx $dr,$sr. */
+/* subx: subx $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,subx) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -2993,6 +3334,8 @@ do {
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3006,7 +3349,8 @@ do {
#undef OPRND
}
-/* Perform trap: trap $uimm4. */
+/* trap: trap $uimm4. */
+
CIA
SEM_FN_NAME (m32rx,trap) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3024,9 +3368,12 @@ m32rx_h_cr_set (current_cpu, 6, ADDSI (OPRND (pc), 4));
m32rx_h_cr_set (current_cpu, 0, ANDSI (SLLSI (OPRND (h_cr_0), 8), 65408));
TRACE_RESULT (current_cpu, "h-cr-0", 'x', m32rx_h_cr_get (current_cpu, 0));
BRANCH_NEW_PC (new_pc, SEM_BRANCH_VIA_ADDR (sem_arg, do_trap (current_cpu, OPRND (uimm4))));
+ taken_p = 1;
TRACE_RESULT (current_cpu, "pc", 'x', CPU (h_pc));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3038,7 +3385,8 @@ m32rx_h_cr_set (current_cpu, 0, ANDSI (SLLSI (OPRND (h_cr_0), 8), 65408));
#undef OPRND
}
-/* Perform unlock: unlock $src1,@$src2. */
+/* unlock: unlock $src1,@$src2. */
+
CIA
SEM_FN_NAME (m32rx,unlock) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3058,6 +3406,8 @@ SETMEMSI (current_cpu, OPRND (src2), OPRND (src1));
TRACE_RESULT (current_cpu, "h-lock-0", 'x', CPU (h_lock));
} while (0);
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3070,7 +3420,8 @@ SETMEMSI (current_cpu, OPRND (src2), OPRND (src1));
#undef OPRND
}
-/* Perform satb: satb $dr,$sr. */
+/* satb: satb $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,satb) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3084,6 +3435,8 @@ SEM_FN_NAME (m32rx,satb) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = (GESI (OPRND (sr), 127)) ? (127) : (LESI (OPRND (sr), -128)) ? (-128) : (OPRND (sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3097,7 +3450,8 @@ SEM_FN_NAME (m32rx,satb) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform sath: sath $dr,$sr. */
+/* sath: sath $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,sath) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3111,6 +3465,8 @@ SEM_FN_NAME (m32rx,sath) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
CPU (h_gr[f_r1]) = (GESI (OPRND (sr), 32767)) ? (32767) : (LESI (OPRND (sr), -32768)) ? (-32768) : (OPRND (sr));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3124,7 +3480,8 @@ SEM_FN_NAME (m32rx,sath) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
#undef OPRND
}
-/* Perform sat: sat $dr,$sr. */
+/* sat: sat $dr,$sr. */
+
CIA
SEM_FN_NAME (m32rx,sat) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3138,6 +3495,8 @@ SEM_FN_NAME (m32rx,sat) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
CPU (h_gr[f_r1]) = ((OPRND (condbit)) ? (((LTSI (OPRND (sr), 0)) ? (2147483647) : (0x80000000))) : (OPRND (sr)));
TRACE_RESULT (current_cpu, "dr", 'x', CPU (h_gr[f_r1]));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3151,7 +3510,8 @@ SEM_FN_NAME (m32rx,sat) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exe
#undef OPRND
}
-/* Perform pcmpbz: pcmpbz $src2. */
+/* pcmpbz: pcmpbz $src2. */
+
CIA
SEM_FN_NAME (m32rx,pcmpbz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3165,6 +3525,8 @@ SEM_FN_NAME (m32rx,pcmpbz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
CPU (h_cond) = (EQSI (ANDSI (OPRND (src2), 255), 0)) ? (1) : (EQSI (ANDSI (OPRND (src2), 65280), 0)) ? (1) : (EQSI (ANDSI (OPRND (src2), 16711680), 0)) ? (1) : (EQSI (ANDSI (OPRND (src2), 0xff000000), 0)) ? (1) : (0);
TRACE_RESULT (current_cpu, "condbit", 'x', CPU (h_cond));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3177,7 +3539,8 @@ SEM_FN_NAME (m32rx,pcmpbz) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
#undef OPRND
}
-/* Perform sadd: sadd. */
+/* sadd: sadd. */
+
CIA
SEM_FN_NAME (m32rx,sadd) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3191,6 +3554,8 @@ SEM_FN_NAME (m32rx,sadd) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_ex
m32rx_h_accums_set (current_cpu, 0, ADDDI (SRADI (OPRND (h_accums_1), 16), OPRND (h_accums_0)));
TRACE_RESULT (current_cpu, "h-accums-0", 'D', m32rx_h_accums_get (current_cpu, 0));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3202,7 +3567,8 @@ m32rx_h_accums_set (current_cpu, 0, ADDDI (SRADI (OPRND (h_accums_1), 16), OPRND
#undef OPRND
}
-/* Perform macwu1: macwu1 $src1,$src2. */
+/* macwu1: macwu1 $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,macwu1) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3216,6 +3582,8 @@ SEM_FN_NAME (m32rx,macwu1) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
m32rx_h_accums_set (current_cpu, 1, SRADI (SLLDI (ADDDI (OPRND (h_accums_1), MULDI (EXTSIDI (OPRND (src1)), EXTSIDI (ANDSI (OPRND (src2), 65535)))), 8), 8));
TRACE_RESULT (current_cpu, "h-accums-1", 'D', m32rx_h_accums_get (current_cpu, 1));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3228,7 +3596,8 @@ m32rx_h_accums_set (current_cpu, 1, SRADI (SLLDI (ADDDI (OPRND (h_accums_1), MUL
#undef OPRND
}
-/* Perform msblo: msblo $src1,$src2. */
+/* msblo: msblo $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,msblo) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3242,6 +3611,8 @@ SEM_FN_NAME (m32rx,msblo) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_e
m32rx_h_accum_set (current_cpu, SRADI (SLLDI (SUBDI (OPRND (accum), SRADI (SLLDI (MULDI (EXTHIDI (TRUNCSIHI (OPRND (src1))), EXTHIDI (TRUNCSIHI (OPRND (src2)))), 32), 16)), 8), 8));
TRACE_RESULT (current_cpu, "accum", 'D', m32rx_h_accum_get (current_cpu));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3254,7 +3625,8 @@ m32rx_h_accum_set (current_cpu, SRADI (SLLDI (SUBDI (OPRND (accum), SRADI (SLLDI
#undef OPRND
}
-/* Perform mulwu1: mulwu1 $src1,$src2. */
+/* mulwu1: mulwu1 $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,mulwu1) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3268,6 +3640,8 @@ SEM_FN_NAME (m32rx,mulwu1) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
m32rx_h_accums_set (current_cpu, 1, SRADI (SLLDI (MULDI (EXTSIDI (OPRND (src1)), EXTSIDI (ANDSI (OPRND (src2), 65535))), 16), 16));
TRACE_RESULT (current_cpu, "h-accums-1", 'D', m32rx_h_accums_get (current_cpu, 1));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3280,7 +3654,8 @@ m32rx_h_accums_set (current_cpu, 1, SRADI (SLLDI (MULDI (EXTSIDI (OPRND (src1)),
#undef OPRND
}
-/* Perform maclh1: maclh1 $src1,$src2. */
+/* maclh1: maclh1 $src1,$src2. */
+
CIA
SEM_FN_NAME (m32rx,maclh1) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3294,6 +3669,8 @@ SEM_FN_NAME (m32rx,maclh1) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_
m32rx_h_accums_set (current_cpu, 1, SRADI (SLLDI (ADDDI (OPRND (h_accums_1), SLLDI (EXTSIDI (MULSI (EXTHISI (TRUNCSIHI (OPRND (src1))), SRASI (OPRND (src2), 16))), 16)), 8), 8));
TRACE_RESULT (current_cpu, "h-accums-1", 'D', m32rx_h_accums_get (current_cpu, 1));
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3306,7 +3683,8 @@ m32rx_h_accums_set (current_cpu, 1, SRADI (SLLDI (ADDDI (OPRND (h_accums_1), SLL
#undef OPRND
}
-/* Perform sc: sc. */
+/* sc: sc. */
+
CIA
SEM_FN_NAME (m32rx,sc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3321,6 +3699,8 @@ if (OPRND (condbit)) {
BRANCH_NEW_PC (new_pc, NEW_PC_SKIP);
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{
@@ -3332,7 +3712,8 @@ BRANCH_NEW_PC (new_pc, NEW_PC_SKIP);
#undef OPRND
}
-/* Perform snc: snc. */
+/* snc: snc. */
+
CIA
SEM_FN_NAME (m32rx,snc) (SIM_CPU *current_cpu, SEM_ARG sem_arg, PAREXEC *par_exec)
{
@@ -3347,6 +3728,8 @@ if (NOTBI (OPRND (condbit))) {
BRANCH_NEW_PC (new_pc, NEW_PC_SKIP);
}
+ PROFILE_COUNT_INSN (current_cpu, 0, abuf->idesc->num);
+
#if WITH_PROFILE_MODEL_P
if (PROFILE_MODEL_P (current_cpu))
{