* doc/c-xtensa.texi (Literal Directive): Spelling correction.
[deliverable/binutils-gdb.git] / opcodes / ip2k-opc.c
index 311a0f76d96ade74a95c721d922e654a11baa5d3..0cb5c38c673edf50d04088901ac89c7a87b56ba9 100644 (file)
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright 1996-2005 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
@@ -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);
+}
 
 \f
 /* -- asm.c */
@@ -67,47 +83,47 @@ static unsigned int dis_hash_insn PARAMS ((const char *, CGEN_INSN_INT));
 #else
 #define F(f) & ip2k_cgen_ifld_table[IP2K_/**/f]
 #endif
-static const CGEN_IFMT ifmt_empty = {
+static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
   0, 0, 0x0, { { 0 } }
 };
 
-static const CGEN_IFMT ifmt_jmp = {
+static const CGEN_IFMT ifmt_jmp ATTRIBUTE_UNUSED = {
   16, 16, 0xe000, { { F (F_OP3) }, { F (F_ADDR16CJP) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_sb = {
+static const CGEN_IFMT ifmt_sb ATTRIBUTE_UNUSED = {
   16, 16, 0xf000, { { F (F_OP4) }, { F (F_BITNO) }, { F (F_REG) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_xorw_l = {
+static const CGEN_IFMT ifmt_xorw_l ATTRIBUTE_UNUSED = {
   16, 16, 0xff00, { { F (F_OP4) }, { F (F_OP4MID) }, { F (F_IMM8) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_loadl_a = {
+static const CGEN_IFMT ifmt_loadl_a ATTRIBUTE_UNUSED = {
   16, 16, 0xff00, { { F (F_OP4) }, { F (F_OP4MID) }, { F (F_IMM8) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_loadh_a = {
+static const CGEN_IFMT ifmt_loadh_a ATTRIBUTE_UNUSED = {
   16, 16, 0xff00, { { F (F_OP4) }, { F (F_OP4MID) }, { F (F_IMM8) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_addcfr_w = {
+static const CGEN_IFMT ifmt_addcfr_w ATTRIBUTE_UNUSED = {
   16, 16, 0xfe00, { { F (F_OP6) }, { F (F_DIR) }, { F (F_REG) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_speed = {
+static const CGEN_IFMT ifmt_speed ATTRIBUTE_UNUSED = {
   16, 16, 0xff00, { { F (F_OP8) }, { F (F_IMM8) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_ireadi = {
+static const CGEN_IFMT ifmt_ireadi ATTRIBUTE_UNUSED = {
   16, 16, 0xffff, { { F (F_OP6) }, { F (F_OP6_10LOW) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_page = {
+static const CGEN_IFMT ifmt_page ATTRIBUTE_UNUSED = {
   16, 16, 0xfff8, { { F (F_OP6) }, { F (F_OP6_7LOW) }, { F (F_PAGE3) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_reti = {
+static const CGEN_IFMT ifmt_reti ATTRIBUTE_UNUSED = {
   16, 16, 0xfff8, { { F (F_OP6) }, { F (F_OP6_7LOW) }, { F (F_RETI3) }, { 0 } }
 };
 
@@ -664,27 +680,27 @@ static const CGEN_OPCODE ip2k_cgen_insn_opcode_table[MAX_INSNS] =
 #else
 #define F(f) & ip2k_cgen_ifld_table[IP2K_/**/f]
 #endif
-static const CGEN_IFMT ifmt_sc = {
+static const CGEN_IFMT ifmt_sc ATTRIBUTE_UNUSED = {
   16, 16, 0xffff, { { F (F_OP4) }, { F (F_BITNO) }, { F (F_REG) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_snc = {
+static const CGEN_IFMT ifmt_snc ATTRIBUTE_UNUSED = {
   16, 16, 0xffff, { { F (F_OP4) }, { F (F_BITNO) }, { F (F_REG) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_sz = {
+static const CGEN_IFMT ifmt_sz ATTRIBUTE_UNUSED = {
   16, 16, 0xffff, { { F (F_OP4) }, { F (F_BITNO) }, { F (F_REG) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_snz = {
+static const CGEN_IFMT ifmt_snz ATTRIBUTE_UNUSED = {
   16, 16, 0xffff, { { F (F_OP4) }, { F (F_BITNO) }, { F (F_REG) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_skip = {
+static const CGEN_IFMT ifmt_skip ATTRIBUTE_UNUSED = {
   16, 16, 0xffff, { { F (F_OP4) }, { F (F_BITNO) }, { F (F_REG) }, { 0 } }
 };
 
-static const CGEN_IFMT ifmt_skipb = {
+static const CGEN_IFMT ifmt_skipb ATTRIBUTE_UNUSED = {
   16, 16, 0xffff, { { F (F_OP4) }, { F (F_BITNO) }, { F (F_REG) }, { 0 } }
 };
 
This page took 0.02592 seconds and 4 git commands to generate.