aboutsummaryrefslogtreecommitdiff
path: root/sim/ppc/igen.c
diff options
context:
space:
mode:
Diffstat (limited to 'sim/ppc/igen.c')
-rw-r--r--sim/ppc/igen.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/sim/ppc/igen.c b/sim/ppc/igen.c
index 818c16f..07a825b 100644
--- a/sim/ppc/igen.c
+++ b/sim/ppc/igen.c
@@ -2119,16 +2119,26 @@ lf_print_c_semantic(lf *file,
if (!idecode_cache)
lf_print_c_validate(file, instruction, opcodes);
- /* generate the profileing call - this is delayed until after the
+ /* generate the profiling call - this is delayed until after the
instruction has been verified */
lf_printf(file, "\n");
- lf_printf(file, "if (WITH_MON & MONITOR_INSTRUCTION_ISSUE)\n");
+ lf_printf(file, "if (WITH_MON & MONITOR_INSTRUCTION_ISSUE) {\n");
lf_printf(file, " mon_issue(");
lf_print_function_name(file,
instruction->file_entry->fields[insn_name],
NULL,
function_name_prefix_itable);
lf_printf(file, ", processor, cia);\n");
+ lf_printf(file, "\n");
+ lf_printf(file, " if (WITH_MODEL_ISSUE)\n");
+ lf_printf(file, " model_issue(");
+ lf_print_function_name(file,
+ instruction->file_entry->fields[insn_name],
+ NULL,
+ function_name_prefix_itable);
+ lf_printf(file, ", processor, cpu_model(processor), cia);\n");
+ lf_printf(file, "}\n");
+ lf_printf(file, "\n");
/* generate the code (or at least something */
if (instruction->file_entry->annex != NULL) {