aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1997-02-15 18:41:32 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1997-02-15 18:41:32 -0500
commit4326c60500a68dd36e493f1a26917716f2b02911 (patch)
tree9464ded499a08fb53fbcdf1d57bb9ba87eb7699a
parentcbd9173403528e13cb4bcc60122bb420dab60a9b (diff)
downloadgcc-4326c60500a68dd36e493f1a26917716f2b02911.zip
gcc-4326c60500a68dd36e493f1a26917716f2b02911.tar.gz
gcc-4326c60500a68dd36e493f1a26917716f2b02911.tar.bz2
(PRINT_OPERAND): Turned off: use default.
(ASM_OUTPUT_{FLOAT,DOUBLE}_OPERAND): Defined. (SGS_NO_LI,STRUCTURE_SIZE_BOUNDARY,IMMEDIATE_PREFIX): Defined. (NEED_PROBE): Defined instead of HAVE_probe and gen_probe. (FUNCTION_{PRO,EPI}LOGUE): Do not access FPA registers. From-SVN: r13647
-rw-r--r--gcc/config/m68k/crds.h27
1 files changed, 16 insertions, 11 deletions
diff --git a/gcc/config/m68k/crds.h b/gcc/config/m68k/crds.h
index 098e09f..441b285 100644
--- a/gcc/config/m68k/crds.h
+++ b/gcc/config/m68k/crds.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler;
Charles River Data Systems UNiverse/32.
- Copyright (C) 1987, 1993, 1994, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1993, 1994, 1996, 1997 Free Software Foundation, Inc.
Contributed by Gary E. Miller (Gary_Edmunds_Miller@cup.portal.com)
This file is part of GNU CC.
@@ -23,6 +23,7 @@ Boston, MA 02111-1307, USA. */
#define MOTOROLA /* Use Motorola syntax rather than "MIT" */
#define SGS /* Uses SGS assembler */
#define SGS_SWITCH_TABLES /* Different switch table handling */
+#define SGS_NO_LI /* Suppress jump table label usage */
#define CRDS /* Charles River Data Systems assembler */
#include "m68k/m68k.h"
@@ -31,7 +32,8 @@ Boston, MA 02111-1307, USA. */
aligned such that we can correctly extract bitfields from them.
Someone should check whether the usual compiler on the crds machine
provides the equivalent behavior of STRUCTURE_SIZE_BOUNDARY. */
-#error This does not define STRUCTURE_SIZE_BOUNDARY
+/* Set to 16 because all other m68k targets have it so */
+#define STRUCTURE_SIZE_BOUNDARY 16
/* See m68k.h. 0 means 680[01]0 with no 68881. */
@@ -75,8 +77,13 @@ Boston, MA 02111-1307, USA. */
/* UNOS need stack probe :-( */
+#if 0
#define HAVE_probe 1
#define gen_probe() gen_rtx(ASM_INPUT, VOIDmode, "tstb -2048(sp)\t;probe\n")
+#else
+#undef NEED_PROBE
+#define NEED_PROBE (-2048)
+#endif
/* use memcpy, memset instead of bcopy, etc. */
@@ -146,6 +153,11 @@ Boston, MA 02111-1307, USA. */
#undef ASM_APP_OFF
#define ASM_APP_OFF ";#NO_APP\n"
+/* The prefix for immediate operands. */
+
+#undef IMMEDIATE_PREFIX
+#define IMMEDIATE_PREFIX "$"
+
/* This is how to output an assembler line defining a `double' constant. */
#undef ASM_OUTPUT_DOUBLE
@@ -223,6 +235,7 @@ do { int i; \
}
+#if 0
/* Print operand X (an rtx) in assembler syntax to file FILE.
CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
For `%' followed by punctuation, CODE is the punctuation and X is null.
@@ -300,6 +313,7 @@ do { int i; \
REAL_VALUE_FROM_CONST_DOUBLE (r, X); \
ASM_OUTPUT_LONG_DOUBLE_OPERAND (FILE, r); } \
else { putc ('$', FILE); output_addr_const (FILE, X); }}
+#endif
/* Note that this contains a kludge that knows that the only reason
we have an address (plus (label_ref...) (reg...))
@@ -490,10 +504,6 @@ do { int i; \
fprintf (FILE, "\tadd.l #%d,sp\n", - (fsize + 4)); \
} \
} \
- for (regno = 24; regno < 56; regno++) \
- if (regs_ever_live[regno] && ! call_used_regs[regno]) \
- fprintf(FILE, "\tfpmoved %s, sp@-\n", \
- reg_names[regno]); \
for (regno = 16; regno < 24; regno++) \
if (regs_ever_live[regno] && ! call_used_regs[regno]) \
mask |= 1 << (regno - 16); \
@@ -535,11 +545,6 @@ do { int i; \
int fsize = ((SIZE) + 3) & -4; \
int big = 0; \
nregs = 0; fmask = 0; fpoffset = 0; \
- for (regno = 24 ; regno < 56 ; regno++) \
- if (regs_ever_live[regno] && ! call_used_regs[regno]) \
- nregs++; \
- fpoffset = nregs*8; \
- nregs = 0; \
for (regno = 16; regno < 24; regno++) \
if (regs_ever_live[regno] && ! call_used_regs[regno]) \
{ nregs++; fmask |= 1 << (23 - regno); } \