summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/xtensa-isa.c9
-rw-r--r--include/ChangeLog5
-rw-r--r--include/xtensa-isa-internal.h1
-rw-r--r--include/xtensa-isa.h13
5 files changed, 32 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ed41ba20194..eb1b7186f58 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2004-11-12 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-isa.c (xtensa_interface_class_id): New.
+
2004-11-11 Bob Wilson <bob.wilson@acm.org>
* elf32-xtensa.c (property_table_compare): Remove assertion about
diff --git a/bfd/xtensa-isa.c b/bfd/xtensa-isa.c
index 30ad80cfd6b..f5fa3c2111c 100644
--- a/bfd/xtensa-isa.c
+++ b/bfd/xtensa-isa.c
@@ -1677,6 +1677,15 @@ xtensa_interface_has_side_effect (xtensa_isa isa, xtensa_interface intf)
return 0;
}
+
+int
+xtensa_interface_class_id (xtensa_isa isa, xtensa_interface intf)
+{
+ xtensa_isa_internal *intisa = (xtensa_isa_internal *) isa;
+ CHECK_INTERFACE (intisa, intf, XTENSA_UNDEFINED);
+ return intisa->interfaces[intf].class_id;
+}
+
/* Functional Units. */
diff --git a/include/ChangeLog b/include/ChangeLog
index 7ee396b1916..de51a8fbb2d 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-12 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-isa-internal.h (xtensa_interface_internal): Add class_id.
+ * xtensa-isa.h (xtensa_interface_class_id): New prototype.
+
2004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com>
Vineet Sharma <vineets@noida.hcltech.com>
diff --git a/include/xtensa-isa-internal.h b/include/xtensa-isa-internal.h
index 50ac4781c37..44e53f95b30 100644
--- a/include/xtensa-isa-internal.h
+++ b/include/xtensa-isa-internal.h
@@ -131,6 +131,7 @@ typedef struct xtensa_interface_internal_struct
const char *name; /* Interface name. */
int num_bits; /* Width of the interface. */
uint32 flags; /* See XTENSA_INTERFACE_* flags. */
+ int class_id; /* Class of related interfaces. */
char inout; /* "i" or "o". */
} xtensa_interface_internal;
diff --git a/include/xtensa-isa.h b/include/xtensa-isa.h
index 2dc11b924c0..025e3175075 100644
--- a/include/xtensa-isa.h
+++ b/include/xtensa-isa.h
@@ -755,6 +755,19 @@ xtensa_interface_inout (xtensa_isa isa, xtensa_interface intf);
extern int
xtensa_interface_has_side_effect (xtensa_isa isa, xtensa_interface intf);
+
+/* Some interfaces may be related such that accessing one interface
+ has side effects on a set of related interfaces. The interfaces
+ are partitioned into equivalence classes of related interfaces, and
+ each class is assigned a unique identifier number. This function
+ returns the class identifier for an interface, or XTENSA_UNDEFINED
+ on error. These identifiers can be compared to determine if two
+ interfaces are related; the specific values of the identifiers have
+ no particular meaning otherwise. */
+
+extern int
+xtensa_interface_class_id (xtensa_isa isa, xtensa_interface intf);
+
/* Functional Units. */