summaryrefslogtreecommitdiff
path: root/opcodes/ip2k-opc.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-12-02 21:58:19 +0000
committerAlan Modra <amodra@bigpond.net.au>2002-12-02 21:58:19 +0000
commit330be08fa95d5597c27d0b8329b644642ac642b1 (patch)
treedd1f9fc0caf43ce35a8e094fd3097a5fe8bc710d /opcodes/ip2k-opc.c
parent9ced5a7df0be43d3b880b863d26e7fafc49c5f60 (diff)
downloadbinutils-redhat-330be08fa95d5597c27d0b8329b644642ac642b1.tar.gz
* cgen-dis.in: Include libiberty.h.
* fr30-desc.c: Regenerate. * fr30-dis.c: Regenerate. * frv-desc.c: Regenerate. * frv-dis.c: Regenerate. * ip2k-asm.c: Regenerate. * ip2k-desc.c: Regenerate. * ip2k-dis.c: Regenerate. * ip2k-opc.c: Regenerate. * ip2k-opc.h: Regenerate. * m32r-desc.c: Regenerate. * m32r-dis.c: Regenerate. * openrisc-desc.c: Regenerate. * openrisc-dis.c: Regenerate. * xstormy16-asm.c: Regenerate. * xstormy16-desc.c: Regenerate. * xstormy16-dis.c: Regenerate.
Diffstat (limited to 'opcodes/ip2k-opc.c')
-rw-r--r--opcodes/ip2k-opc.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/opcodes/ip2k-opc.c b/opcodes/ip2k-opc.c
index 311a0f76d9..691cc78735 100644
--- a/opcodes/ip2k-opc.c
+++ b/opcodes/ip2k-opc.c
@@ -32,6 +32,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
/* -- opc.c */
+#include "safe-ctype.h"
+
/* A better hash function for instruction mnemonics. */
unsigned int
ip2k_asm_hash (insn)
@@ -40,8 +42,8 @@ ip2k_asm_hash (insn)
unsigned int hash;
const char* m = insn;
- for (hash = 0; *m && !isspace(*m); m++)
- hash = (hash * 23) ^ (0x1F & tolower(*m));
+ for (hash = 0; *m && !ISSPACE(*m); m++)
+ hash = (hash * 23) ^ (0x1F & TOLOWER(*m));
/* printf ("%s %d\n", insn, (hash % CGEN_ASM_HASH_SIZE)); */
@@ -49,6 +51,20 @@ ip2k_asm_hash (insn)
}
+/* Special check to ensure that instruction exists for given machine. */
+int
+ip2k_cgen_insn_supported (cd, insn)
+ CGEN_CPU_DESC cd;
+ const CGEN_INSN *insn;
+{
+ int machs = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_MACH);
+
+ /* No mach attribute? Assume it's supported for all machs. */
+ if (machs == 0)
+ return 1;
+
+ return ((machs & cd->machs) != 0);
+}
/* -- asm.c */