* sparc.h (SPARC_OPCODE_ARCH_MASK): New macro.
authorDavid Edelsohn <dje.gcc@gmail.com>
Sun, 31 Mar 1996 21:32:00 +0000 (21:32 +0000)
committerDavid Edelsohn <dje.gcc@gmail.com>
Sun, 31 Mar 1996 21:32:00 +0000 (21:32 +0000)
include/opcode/ChangeLog
include/opcode/sparc.h

index 477c30039264b84d4d03d676d3cee953077c12b8..b2cb26af7d691e95edae0a1bb9d29254a4bed958 100644 (file)
@@ -1,3 +1,11 @@
+Sun Mar 31 13:30:03 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+       * sparc.h (SPARC_OPCODE_ARCH_MASK): New macro.
+
+Thu Mar  7 15:08:23 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+       * sparc.h (O): Mark operand letter as in use.
+
 Tue Feb 20 20:46:21 1996  Doug Evans  <dje@charmed.cygnus.com>
 
        * sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare.
index d60c554624a3a122f0feeac20947b7d1ac8a74b0..dc604c2b005aa7f0047aae7b58188fb55c1db287 100644 (file)
@@ -49,13 +49,18 @@ enum sparc_opcode_arch_val {
 /* The highest architecture in the table.  */
 #define SPARC_OPCODE_ARCH_MAX (SPARC_OPCODE_ARCH_BAD - 1)
 
+/* Given an enum sparc_opcode_arch_val, return the bitmask to use in
+   insn encoding/decoding.  */
+#define SPARC_OPCODE_ARCH_MASK(arch) (1 << (arch))
+
 /* Table of cpu variants.  */
 
 struct sparc_opcode_arch {
   const char *name;
   /* Mask of sparc_opcode_arch_val's supported.
-     EG: For v7 this would be ((1 << v6) | (1 << v7)).  */
-  /* These are short's because sparc_opcode.architecture is.  */
+     EG: For v7 this would be
+     (SPARC_OPCODE_ARCH_MASK (..._V6) | SPARC_OPCODE_ARCH_MASK (..._V7)).
+     These are short's because sparc_opcode.architecture is.  */
   short supported;
 };
 
@@ -144,7 +149,8 @@ Kinds of operands:
        z       %icc. (v9)
        Z       %xcc. (v9)
        q       Floating point queue.
-       r       Single register that is both rs1 and rsd.
+       r       Single register that is both rs1 and rd.
+       O       Single register that is both rs2 and rd.
        Q       Coprocessor queue.
        S       Special case.
        t       Trap base register.
@@ -167,7 +173,7 @@ Kinds of operands:
        x       OPF field (v9 impdep).
 
 The following chars are unused: (note: ,[] are used as punctuation)
-[OXY3450]
+[XY3450]
 
 */