aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/frv/ChangeLog6
-rw-r--r--sim/frv/profile.c24
2 files changed, 21 insertions, 9 deletions
diff --git a/sim/frv/ChangeLog b/sim/frv/ChangeLog
index 34d685c..3874680 100644
--- a/sim/frv/ChangeLog
+++ b/sim/frv/ChangeLog
@@ -1,3 +1,9 @@
+2003-09-10 Dave Brolley <brolley@redhat.com>
+
+ * profile.c (slot_names): FM1 was listed twice. Changed first
+ instance to FM0. Added IALL, FMALL and FMLOW.
+ (print_parallel): Don't examine slots with no insns.
+
2003-09-09 Dave Brolley <brolley@redhat.com>
* frv.c (do_media_average): Select machine using a switch.
diff --git a/sim/frv/profile.c b/sim/frv/profile.c
index 1a59e4a..822e5d6 100644
--- a/sim/frv/profile.c
+++ b/sim/frv/profile.c
@@ -1,6 +1,6 @@
/* frv simulator machine independent profiling code.
- Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Red Hat
This file is part of the GNU simulators.
@@ -1706,12 +1706,15 @@ print_cache (SIM_CPU *cpu, FRV_CACHE *cache, const char *cache_name)
sim_io_printf (sd, "\n");
}
+/* This table must correspond to the UNIT_ATTR table in
+ opcodes/frv-desc.h. Only the units up to UNIT_C need be
+ listed since the others cannot occur after mapping. */
static char *
slot_names[] =
{
"none",
- "I0", "I1", "I01",
- "FM1", "FM1", "FM01",
+ "I0", "I1", "I01", "IALL",
+ "FM0", "FM1", "FM01", "FMALL", "FMLOW",
"B0", "B1", "B01",
"C"
};
@@ -1747,12 +1750,15 @@ print_parallel (SIM_CPU *cpu, int verbose)
int max_name_len = 0;
for (i = UNIT_NIL + 1; i < UNIT_NUM_UNITS; ++i)
{
- int len;
- if (INSNS_IN_SLOT (i) > max_val)
- max_val = INSNS_IN_SLOT (i);
- len = strlen (slot_names[i]);
- if (len > max_name_len)
- max_name_len = len;
+ if (INSNS_IN_SLOT (i))
+ {
+ int len;
+ if (INSNS_IN_SLOT (i) > max_val)
+ max_val = INSNS_IN_SLOT (i);
+ len = strlen (slot_names[i]);
+ if (len > max_name_len)
+ max_name_len = len;
+ }
}
if (max_val > 0)
{