* v850.h: New file.
authorJ.T. Conklin <jtc@acorntoolworks.com>
Tue, 20 Aug 1996 21:52:59 +0000 (21:52 +0000)
committerJ.T. Conklin <jtc@acorntoolworks.com>
Tue, 20 Aug 1996 21:52:59 +0000 (21:52 +0000)
include/opcode/.Sanitize
include/opcode/ChangeLog
include/opcode/v850.h [new file with mode: 0644]

index b5a4ca85d3f62ae7b2d9a3ef2e26080d6342ca01..2c8521c8fe9c1079e33051fa88545712bb587582 100644 (file)
@@ -31,6 +31,14 @@ else
        lose_these_too="${d10v_files} ${lose_these_too}"
 fi
 
+v850_files="v850.h"
+
+if ( echo $* | grep keep\-v850 > /dev/null ) ; then
+       keep_these_too="${v850_files} ${keep_these_too}"
+else
+       lose_these_too="${v850_files} ${lose_these_too}"
+fi
+
 
 # All files listed between the "Things-to-keep:" line and the
 # "Files-to-sed:" line will be kept.  All other files will be removed.
@@ -123,6 +131,35 @@ else
        done
 fi
 
+v850_files="ChangeLog"
+if ( echo $* | grep keep\-v850 > /dev/null ) ; then
+       for i in $v850_files ; do
+               if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then
+                       if [ -n "${verbose}" ] ; then
+                               echo Keeping v850 stuff in $i
+                       fi
+               fi
+       done
+else
+       for i in $v850_files ; do
+               if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then
+                       if [ -n "${verbose}" ] ; then
+                               echo Removing traces of \"v850\" from $i...
+                       fi
+                       cp $i new
+                       sed '/start\-sanitize\-v850/,/end-\sanitize\-v850/d' < $i > new
+                       if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+                               if [ -n "${verbose}" ] ; then
+                                       echo Caching $i in .Recover...
+                               fi
+                               mv $i .Recover
+                       fi
+                       mv new $i
+               fi
+       done
+fi
+
+
 for i in * ; do
        if test ! -d $i && (grep sanitize $i > /dev/null) ; then
                echo '***' Some mentions of Sanitize are still left in $i! 1>&2
index 1ca28f37631c03cdf9643f2abe1db20522a9eca6..4582cf336f30942a1a7b1eec27dcd13388cba344 100644 (file)
@@ -1,3 +1,18 @@
+start-sanitize-v850
+Tue Aug 20 14:52:02 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+       * v850.h: New file.
+
+end-sanitize-v850
+Fri Aug 16 14:44:15 1996  James G. Smith  <jsmith@cygnus.co.uk>
+
+       * mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM,
+       OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC,
+       OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT,
+       OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE,
+       OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT):
+       Defined.
+
 Fri Aug 16 00:15:15 1996  Jeffrey A Law  (law@cygnus.com)
 
        * hppa.h (pitlb, pitlbe, iitlba, iitlbp, fic, fice): Accept
diff --git a/include/opcode/v850.h b/include/opcode/v850.h
new file mode 100644 (file)
index 0000000..0373e38
--- /dev/null
@@ -0,0 +1,71 @@
+/* v850.h -- Header file for NEC V850 opcode table
+   Copyright 1996 Free Software Foundation, Inc.
+   Written by J.T. Conklin, Cygnus Support
+
+This file is part of GDB, GAS, and the GNU binutils.
+
+GDB, GAS, and the GNU binutils are free software; you can redistribute
+them and/or modify them under the terms of the GNU General Public
+License as published by the Free Software Foundation; either version
+1, or (at your option) any later version.
+
+GDB, GAS, and the GNU binutils are distributed in the hope that they
+will be useful, but WITHOUT ANY WARRANTY; without even the implied
+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
+the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this file; see the file COPYING.  If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef V850_H
+#define V850_H
+
+/* The opcode table is an array of struct v850_opcode.  */
+
+struct v850_opcode
+{
+  /* The opcode name.  */
+  const char *name;
+
+  /* The opcode itself.  Those bits which will be filled in with
+     operands are zeroes.  */
+  unsigned long opcode;
+
+  /* The opcode mask.  This is used by the disassembler.  This is a
+     mask containing ones indicating those bits which must match the
+     opcode field, and zeroes indicating those bits which need not
+     match (and are presumably filled in by operands).  */
+  unsigned long mask;
+
+  /* An array of operand codes.  Each code is an index into the
+     operand table.  They appear in the order which the operands must
+     appear in assembly code, and are terminated by a zero.  */
+  unsigned char operands[8];
+};
+
+/* The table itself is sorted by major opcode number, and is otherwise
+   in the order in which the disassembler should consider
+   instructions.  */
+extern const struct v850_opcode v850_opcodes[];
+extern const int v850_num_opcodes;
+
+\f
+/* The operands table is an array of struct powerpc_operand.  */
+
+struct v850_operand
+{
+  /* The number of bits in the operand.  */
+  int bits;
+
+  /* How far the operand is left shifted in the instruction.  */
+  int shift;
+};
+
+/* Elements in the table are retrieved by indexing with values from
+   the operands field of the v850_opcodes table.  */
+
+extern const struct v850_operand v850_operands[];
+
+
+#endif /* V850_H */