From 8da1e5a75dbee3ead677ac3593b32732d2451ded Mon Sep 17 00:00:00 2001
From: Martin Hunt <hunt@redhat.com>
Date: Thu, 25 Jul 1996 19:15:49 +0000
Subject: Thu Jul 25 12:06:22 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* d10v.h: Changes for divs, parallel-only instructions, and
 	signed numbers.
---
 include/opcode/ChangeLog |  5 +++++
 include/opcode/d10v.h    | 20 ++++++++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)

(limited to 'include/opcode')

diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 3f818a7..8323f32 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,4 +1,9 @@
 start-sanitize-d10v
+Thu Jul 25 12:06:22 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* d10v.h: Changes for divs, parallel-only instructions, and
+ 	signed numbers.
+
 Mon Jul 22 11:21:15 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
 
 	* d10v.h (pd_reg): Define. Putting the definition here allows
diff --git a/include/opcode/d10v.h b/include/opcode/d10v.h
index 81dfc1c..c667331 100644
--- a/include/opcode/d10v.h
+++ b/include/opcode/d10v.h
@@ -28,6 +28,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  *
 #define FM11	0xC0000000
 
 #define NOP 0x5e00
+#define OPCODE_DIVS	0x14002800
 
 /* The opcode table is an array of struct d10v_opcode.  */
 
@@ -39,9 +40,7 @@ struct d10v_opcode
   /* the opcode format */
   int format;
 
-  /* opcode types.  these numbers were picked so we can do 
-     if( i & SHORT_OPCODE) */
-
+  /* These numbers were picked so we can do if( i & SHORT_OPCODE) */
 #define SHORT_OPCODE 1
 #define LONG_OPCODE  8
 #define SHORT_2	     1		/* short with 2 operands */
@@ -50,6 +49,11 @@ struct d10v_opcode
 #define LONG_L       10		/* long with 3 operands */
 #define LONG_R       12		/* reserved */
 
+  /* just a placeholder for variable-length instructions */
+  /* for example, "bra" will be a fake for "bra.s" and bra.l" */
+  /* which will immediately follow in the opcode table.  */
+#define OPCODE_FAKE  32
+
   /* the number of cycles */
   int cycles;
 
@@ -62,9 +66,10 @@ struct d10v_opcode
 
   /* execution type; parallel or sequential */
   int exec_type;
-#define PAR	1
-#define SEQ	2
-#define BRANCH_LINK 3
+#define PARONLY 1	/* parallel only */
+#define SEQ	2	/* must be sequential */
+#define PAR	3	/* may be parallel */
+#define BRANCH_LINK 4	/* subroutine call.  sequential and aligned */
 
   /* the opcode */
   long opcode;
@@ -147,6 +152,9 @@ extern const struct d10v_operand d10v_operands[];
 /* predecrement mode '@-sp'  */
 #define OPERAND_ATMINUS	(0x2000)
 
+/* signed number */
+#define OPERAND_SIGNED	(0x4000)
+
 /* Structure to hold information about predefined registers.  */
 struct pd_reg
 {
-- 
cgit v1.1