* mh-mingw (LDFLAGS): Append to rather than replacing previous
[deliverable/binutils-gdb.git] / include / opcode / ia64.h
index 2ed1e2a32fb046fa1818beec2acb371ac4a1154c..447e50e1dbf7e9eff9114b0065b710bee259ed3d 100644 (file)
@@ -1,14 +1,14 @@
 /* ia64.h -- Header file for ia64 opcode table
-   Copyright (C) 1998, 1999 David Mosberger-Tang <davidm@hpl.hp.com>
-
-   See the file HP-COPYRIGHT for additional information.  */
+   Copyright (C) 1998, 1999, 2000, 2002, 2005, 2006
+   Free Software Foundation, Inc.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.com> */
 
 #ifndef opcode_ia64_h
 #define opcode_ia64_h
 
 #include <sys/types.h>
 
-#include <bfd.h>
+#include "bfd.h"
 
 
 typedef BFD_HOST_U_64_BIT ia64_insn;
@@ -39,13 +39,14 @@ enum ia64_unit
   };
 
 /* Changes to this enumeration must be propagated to the operand table in
-   bfd/cpu-ia64-opc.c 
- */ 
+   bfd/cpu-ia64-opc.c
+ */
 enum ia64_opnd
   {
     IA64_OPND_NIL,     /* no operand---MUST BE FIRST!*/
 
     /* constants */
+    IA64_OPND_AR_CSD,  /* application register csd (ar.csd) */
     IA64_OPND_AR_CCV,  /* application register ccv (ar.ccv) */
     IA64_OPND_AR_PFS,  /* application register pfs (ar.pfs) */
     IA64_OPND_C1,      /* the constant 1 */
@@ -75,13 +76,15 @@ enum ia64_opnd
     IA64_OPND_R3,      /* third register # */
     IA64_OPND_R3_2,    /* third register # (limited to gr0-gr3) */
 
+    /* memory operands: */
+    IA64_OPND_MR3,     /* memory at addr of third register # */
+
     /* indirect operands: */
     IA64_OPND_CPUID_R3,        /* cpuid[reg] */
     IA64_OPND_DBR_R3,  /* dbr[reg] */
     IA64_OPND_DTR_R3,  /* dtr[reg] */
     IA64_OPND_ITR_R3,  /* itr[reg] */
     IA64_OPND_IBR_R3,  /* ibr[reg] */
-    IA64_OPND_MR3,     /* memory at addr of third register # */
     IA64_OPND_MSR_R3,  /* msr[reg] */
     IA64_OPND_PKR_R3,  /* pkr[reg] */
     IA64_OPND_PMC_R3,  /* pmc[reg] */
@@ -100,6 +103,7 @@ enum ia64_opnd
     IA64_OPND_CPOS6c,  /* 6-bit count (63 - bits 31-36) */
     IA64_OPND_IMM1,    /* signed 1-bit immediate (bit 36) */
     IA64_OPND_IMMU2,   /* unsigned 2-bit immediate (bits 13-14) */
+    IA64_OPND_IMMU5b,  /* unsigned 5-bit immediate (32 + bits 14-18) */
     IA64_OPND_IMMU7a,  /* unsigned 7-bit immediate (bits 13-19) */
     IA64_OPND_IMMU7b,  /* unsigned 7-bit immediate (bits 20-26) */
     IA64_OPND_SOF,     /* 8-bit stack frame size */
@@ -133,6 +137,7 @@ enum ia64_opnd
     IA64_OPND_TGT25b,  /* signed 25-bit (ip + 16*bits 6-12, 20-32, 36) */
     IA64_OPND_TGT25c,  /* signed 25-bit (ip + 16*bits 13-32, 36) */
     IA64_OPND_TGT64,    /* 64-bit (ip + 16*bits 13-32, 36, 2-40(L)) */
+    IA64_OPND_LDXMOV,  /* any symbol, generates R_IA64_LDXMOV.  */
 
     IA64_OPND_COUNT    /* # of operand types (MUST BE LAST!) */
   };
@@ -152,6 +157,7 @@ enum ia64_dependency_semantics
   IA64_DVS_DATA,
   IA64_DVS_INSTR,
   IA64_DVS_SPECIFIC,
+  IA64_DVS_STOP,
   IA64_DVS_OTHER,
 };
 
@@ -179,7 +185,8 @@ enum ia64_resource_specifier
   IA64_RS_PKR,
   IA64_RS_PMC,
   IA64_RS_PMD,
-  IA64_RS_PR,
+  IA64_RS_PR,  /* non-rotating, 1-15 */
+  IA64_RS_PRr, /* rotating, 16-62 */
   IA64_RS_PR63,
   IA64_RS_RR,
 
@@ -285,7 +292,7 @@ struct ia64_opcode
     /* Used by ia64_find_next_opcode (). */
     short ent_index;
 
-    /* Opcode dependencies. */ 
+    /* Opcode dependencies. */
     const struct ia64_opcode_dependency *dependencies;
   };
 
This page took 0.024711 seconds and 4 git commands to generate.