|
From: Dave A. <ai...@us...> - 2002-10-12 11:41:59
|
Update of /cvsroot/linux-vax/tools/src/gcc/config/vax
In directory usw-pr-cvs1:/tmp/cvs-serv5119
Modified Files:
Tag: tools-linuxvax-dynamic-dev
vax.c
Log Message:
DA: more NetBSD cosmetic changes.. nothing deep yet..
Index: vax.c
===================================================================
RCS file: /cvsroot/linux-vax/tools/src/gcc/config/vax/vax.c,v
retrieving revision 2.12
retrieving revision 2.12.2.1
diff -u -r2.12 -r2.12.2.1
--- vax.c 7 Aug 2000 18:33:56 -0000 2.12
+++ vax.c 12 Oct 2002 11:41:55 -0000 2.12.2.1
@@ -25,6 +25,7 @@
#include "hard-reg-set.h"
#include "real.h"
#include "insn-config.h"
+#include "insn-codes.h"
#include "conditions.h"
#include "insn-flags.h"
#include "output.h"
@@ -32,19 +33,23 @@
#ifdef VMS_TARGET
#include "tree.h"
#endif
+#include "reload.h"
+#include "recog.h"
+/*#include "tm_p.h"*/
/* This is like nonimmediate_operand with a restriction on the type of MEM. */
void
split_quadword_operands (operands, low, n)
rtx *operands, *low;
- int n ATTRIBUTE_UNUSED;
+ int n;
{
int i;
/* Split operands. */
- low[0] = low[1] = low[2] = 0;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < n; i++)
+ low[i] = 0;
+ for (i = 0; i < n; i++)
{
if (low[i])
/* it's already been figured out */;
@@ -74,7 +79,7 @@
{
register rtx reg1, breg, ireg;
rtx offset;
-
+ rtx orig_addr = addr;
retry:
switch (GET_CODE (addr))
{
@@ -84,15 +89,20 @@
goto retry;
case REG:
- fprintf (file, "(%s)", reg_names[REGNO (addr)]);
+ if (REGNO (addr) >= 16)
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
+ fprintf (file, "(%s%s)", REGISTER_PREFIX, reg_names[REGNO (addr)]);
break;
case PRE_DEC:
- fprintf (file, "-(%s)", reg_names[REGNO (XEXP (addr, 0))]);
+ fprintf (file, "-(%s%s)", REGISTER_PREFIX, reg_names[REGNO (XEXP (addr, 0))]);
break;
case POST_INC:
- fprintf (file, "(%s)+", reg_names[REGNO (XEXP (addr, 0))]);
+ fprintf (file, "(%s%s)+", REGISTER_PREFIX, reg_names[REGNO (XEXP (addr, 0))]);
break;
case PLUS:
@@ -140,7 +150,10 @@
addr = XEXP (addr, 1);
}
else
- abort ();
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
if (GET_CODE (addr) == REG)
{
@@ -163,7 +176,10 @@
else if (GET_CODE (XEXP (addr, 0)) == CONST_INT)
offset = plus_constant (offset, INTVAL (XEXP (addr, 0)));
else
- abort ();
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
}
offset = XEXP (addr, 0);
}
@@ -177,11 +193,17 @@
else if (GET_CODE (XEXP (addr, 0)) == MULT)
{
if (ireg)
- abort ();
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
ireg = XEXP (addr, 0);
}
else
- abort ();
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
if (CONSTANT_ADDRESS_P (XEXP (addr, 1))
|| GET_CODE (XEXP (addr, 1)) == MEM)
@@ -193,7 +215,10 @@
else if (GET_CODE (XEXP (addr, 1)) == CONST_INT)
offset = plus_constant (offset, INTVAL (XEXP (addr, 1)));
else
- abort ();
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
}
offset = XEXP (addr, 1);
}
@@ -207,14 +232,23 @@
else if (GET_CODE (XEXP (addr, 1)) == MULT)
{
if (ireg)
- abort ();
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
ireg = XEXP (addr, 1);
}
else
- abort ();
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
}
else
- abort ();
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
/* If REG1 is non-zero, figure out if it is a base or index register. */
if (reg1)
@@ -222,7 +256,10 @@
if (breg != 0 || (offset && GET_CODE (offset) == MEM))
{
if (ireg)
- abort ();
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
ireg = reg1;
}
else
@@ -233,15 +270,25 @@
output_address (offset);
if (breg != 0)
- fprintf (file, "(%s)", reg_names[REGNO (breg)]);
+ {
+ if (REGNO (breg) >= 16)
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
+ fprintf (file, "(%s%s)", REGISTER_PREFIX, reg_names[REGNO (breg)]);
+ }
if (ireg != 0)
{
if (GET_CODE (ireg) == MULT)
ireg = XEXP (ireg, 0);
if (GET_CODE (ireg) != REG)
- abort ();
- fprintf (file, "[%s]", reg_names[REGNO (ireg)]);
+ {
+ debug_rtx (orig_addr);
+ abort ();
+ }
+ fprintf (file, "[%s%s]", REGISTER_PREFIX, reg_names[REGNO (ireg)]);
}
break;
@@ -250,7 +297,7 @@
}
}
-char *
+const char *
rev_cond_name (op)
rtx op;
{
@@ -287,8 +334,10 @@
register rtx c;
{
register enum machine_mode mode;
+#if HOST_FLOAT_FORMAT == VAX_FLOAT_FORMAT
int i;
union {double d; int i[2];} val;
+#endif
if (GET_CODE (c) != CONST_DOUBLE)
return 0;
@@ -406,7 +455,7 @@
enum machine_mode mode = GET_MODE (x);
register int c=0;
int i = 0; /* may be modified in switch */
- char *fmt = GET_RTX_FORMAT (code); /* may be modified in switch */
+ const char *fmt = GET_RTX_FORMAT (code); /* may be modified in switch */
switch (code)
{
@@ -593,7 +642,7 @@
/* Check a `double' value for validity for a particular machine mode. */
-static char *float_strings[] =
+static const char *const float_strings[] =
{
"1.70141173319264430e+38", /* 2^127 (2^24 - 1) / 2^24 */
"-1.70141173319264430e+38",
@@ -672,7 +721,7 @@
static
struct extern_list {
struct extern_list *next; /* next external */
- char *name; /* name of the external */
+ const char *name; /* name of the external */
int size; /* external's actual size */
int in_const; /* section type flag */
} *extern_head = 0, *pending_head = 0;
@@ -683,7 +732,7 @@
void
vms_check_external (decl, name, pending)
tree decl;
- char *name;
+ const char *name;
int pending;
{
register struct extern_list *p, *p0;
|