diff options
-rw-r--r-- | sim/frv/ChangeLog | 6 | ||||
-rw-r--r-- | sim/frv/profile.c | 24 |
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) { |