* sparc.h (enum sparc_architecture): Add v9a.
authorDavid Edelsohn <dje.gcc@gmail.com>
Mon, 22 Jan 1996 16:25:54 +0000 (16:25 +0000)
committerDavid Edelsohn <dje.gcc@gmail.com>
Mon, 22 Jan 1996 16:25:54 +0000 (16:25 +0000)
include/opcode/ChangeLog
include/opcode/sparc.h

index 379e57cc10b993605ebb51097fc3a6f9c291654d..92369cdd17e744c0f178c731a15ea25fa85440a6 100644 (file)
@@ -1,3 +1,7 @@
+Mon Jan 22 08:24:32 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+       * sparc.h (enum sparc_architecture): Add v9a.
+
 Thu Dec 28 13:27:53 1995  John Hassey  <hassey@rtp.dg.com>
 
        * i386.h: Added Pentium Pro instructions.
index 2ccdb43f9d6c067329244055c19dc0c41cc9bd08..15c3bd3e93b92f45270d2ecdedc90adc7df0bf61 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for opcode table for the sparc.
-   Copyright 1989, 1991, 1992, 1995 Free Software Foundation, Inc.
+   Copyright (C) 1989, 1991, 1992, 1995, 1996 Free Software Foundation, Inc.
 
 This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and
 the GNU Binutils.
@@ -35,21 +35,23 @@ Boston, MA 02111-1307, USA.  */
 /*
  * Structure of an opcode table entry.
  * This enumerator must parallel the architecture_pname array
- * in bfd/opc-sparc.c.
+ * in opcodes/sparc-opc.c.
  */
 enum sparc_architecture {
        v6 = 0,
        v7,
        v8,
        sparclite,
-       v9
+       v9,
+       v9a /* v9 with ultrasparc additions */
 };
 
 extern const char *architecture_pname[];
 
 /* Sparclite and v9 are both supersets of v8; we can't bump between them.  */
 
-#define ARCHITECTURES_CONFLICT_P(ARCH1, ARCH2) ((ARCH1) == sparclite && (ARCH2) == v9)
+#define ARCHITECTURES_CONFLICT_P(ARCH1, ARCH2) \
+((ARCH1) == sparclite && ((ARCH2) == v9 || (ARCH2) == v9vis))
 
 struct sparc_opcode {
        const char *name;
@@ -163,6 +165,7 @@ The following chars are unused: (note: ,[] are used as punctuation)
 #define RD(x)          (((x)&0x1f) << 25) /* destination register field */
 #define RS1(x)         (((x)&0x1f) << 14) /* rs1 field */
 #define ASI_RS2(x)     (SIMM13(x))
+#define MEMBAR(x)      ((x)&0x7f)
 
 #define ANNUL  (1<<29)
 #define BPRED  (1<<19) /* v9 */
@@ -178,6 +181,10 @@ extern const int bfd_sparc_num_opcodes;
 
 int sparc_encode_asi ();
 char *sparc_decode_asi ();
+int sparc_encode_membar ();
+char *sparc_decode_membar ();
+int sparc_encode_prefetch ();
+char *sparc_decode_prefetch ();
 
 /*
  * Local Variables: