/* Definitions of target machine for GNU compiler. Convex version.
- Copyright (C) 1988, 1994, 1995, 1996, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1994, 1995, 1996, 2000, 2001, 2002
+ Free Software Foundation, Inc.
This file is part of GNU CC.
-D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \
-D_IEEE_FLOAT_ \
%{.S:-P} \
- %{!traditional:-D__stdc__} \
- %{!traditional:-D_LONGLONG} \
- %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \
+ -D__stdc__ -D_LONGLONG \
+ -Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long \
%{!ansi:-D_POSIX_SOURCE} \
%{!ansi:-D_CONVEX_SOURCE}"
-D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \
-D_CONVEX_FLOAT_ \
%{.S:-P} \
- %{!traditional:-D__stdc__} \
- %{!traditional:-D_LONGLONG} \
- %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \
+ -D__stdc__ -D_LONGLONG \
+ -Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long \
%{!ansi:-D_POSIX_SOURCE} \
%{!ansi:-D_CONVEX_SOURCE}"
#endif
#define LIB_SPEC \
-"%{!mc2:%{!mc32:%{!mc34:%{!mc38:-lC1%{traditional:_old}%{p:_p}%{pg:_p}}}}} \
- %{mc2:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc32:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc34:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- -lc%{traditional:_old}%{p:_p}%{pg:_p}"
+"%{!mc2:%{!mc32:%{!mc34:%{!mc38:-lC1%{p:_p}%{pg:_p}}}}} \
+ %{mc2:-lC2%{p:_p}%{pg:_p}} \
+ %{mc32:-lC2%{p:_p}%{pg:_p}} \
+ %{mc34:-lC2%{p:_p}%{pg:_p}} \
+ %{mc38:-lC2%{p:_p}%{pg:_p}} \
+ -lc%{p:_p}%{pg:_p}"
#endif
-D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \
-D_IEEE_FLOAT_ \
%{.S:-P} \
- %{!traditional:-D__stdc__} \
- %{!traditional:-D_LONGLONG} \
- %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \
+ -D__stdc__ -D_LONGLONG \
+ -Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long \
%{!ansi:-D_POSIX_SOURCE} \
%{!ansi:-D_CONVEX_SOURCE}"
-D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \
-D_CONVEX_FLOAT_ \
%{.S:-P} \
- %{!traditional:-D__stdc__} \
- %{!traditional:-D_LONGLONG} \
- %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \
+ -D__stdc__ -D_LONGLONG \
+ -Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long \
%{!ansi:-D_POSIX_SOURCE} \
%{!ansi:-D_CONVEX_SOURCE}"
#endif
#define LIB_SPEC \
-"%{mc1:-lC1%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{!mc1:%{!mc32:%{!mc34:%{!mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}}}}} \
- %{mc32:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc34:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- -lc%{traditional:_old}%{p:_p}%{pg:_p}"
+"%{mc1:-lC1%{p:_p}%{pg:_p}} \
+ %{!mc1:%{!mc32:%{!mc34:%{!mc38:-lC2%{p:_p}%{pg:_p}}}}} \
+ %{mc32:-lC2%{p:_p}%{pg:_p}} \
+ %{mc34:-lC2%{p:_p}%{pg:_p}} \
+ %{mc38:-lC2%{p:_p}%{pg:_p}} \
+ -lc%{p:_p}%{pg:_p}"
#endif
-D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \
-D_IEEE_FLOAT_ \
%{.S:-P} \
- %{!traditional:-D__stdc__} \
- %{!traditional:-D_LONGLONG} \
- %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \
+ -D__stdc__ -D_LONGLONG \
+ -Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long \
%{!ansi:-D_POSIX_SOURCE} \
%{!ansi:-D_CONVEX_SOURCE}"
-D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \
-D_CONVEX_FLOAT_ \
%{.S:-P} \
- %{!traditional:-D__stdc__} \
- %{!traditional:-D_LONGLONG} \
- %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \
+ -D__stdc__ -D_LONGLONG \
+ -Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long \
%{!ansi:-D_POSIX_SOURCE} \
%{!ansi:-D_CONVEX_SOURCE}"
#endif
#define LIB_SPEC \
-"%{mc1:-lC1%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc2:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{!mc1:%{!mc2:%{!mc34:%{!mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}}}}} \
- %{mc34:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- -lc%{traditional:_old}%{p:_p}%{pg:_p}"
+"%{mc1:-lC1%{p:_p}%{pg:_p}} \
+ %{mc2:-lC2%{p:_p}%{pg:_p}} \
+ %{!mc1:%{!mc2:%{!mc34:%{!mc38:-lC2%{p:_p}%{pg:_p}}}}} \
+ %{mc34:-lC2%{p:_p}%{pg:_p}} \
+ %{mc38:-lC2%{p:_p}%{pg:_p}} \
+ -lc%{p:_p}%{pg:_p}"
#endif
-D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \
-D_IEEE_FLOAT_ \
%{.S:-P} \
- %{!traditional:-D__stdc__} \
- %{!traditional:-D_LONGLONG} \
- %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \
+ -D__stdc__ -D_LONGLONG \
+ -Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long \
%{!ansi:-D_POSIX_SOURCE} \
%{!ansi:-D_CONVEX_SOURCE}"
-D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \
-D_CONVEX_FLOAT_ \
%{.S:-P} \
- %{!traditional:-D__stdc__} \
- %{!traditional:-D_LONGLONG} \
- %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \
+ -D__stdc__ -D_LONGLONG \
+ -Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long \
%{!ansi:-D_POSIX_SOURCE} \
%{!ansi:-D_CONVEX_SOURCE}"
#endif
#define LIB_SPEC \
-"%{mc1:-lC1%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc2:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc32:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{!mc1:%{!mc2:%{!mc32:%{!mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}}}}} \
- %{mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- -lc%{traditional:_old}%{p:_p}%{pg:_p}"
+"%{mc1:-lC1%{p:_p}%{pg:_p}} \
+ %{mc2:-lC2%{p:_p}%{pg:_p}} \
+ %{mc32:-lC2%{p:_p}%{pg:_p}} \
+ %{!mc1:%{!mc2:%{!mc32:%{!mc38:-lC2%{p:_p}%{pg:_p}}}}} \
+ %{mc38:-lC2%{p:_p}%{pg:_p}} \
+ -lc%{p:_p}%{pg:_p}"
#endif
-D_IEEE_FLOAT_ \
%{!mc1:%{!mc2:%{!mc32:%{!mc34:-D__convex_c38__}}}} \
%{.S:-P} \
- %{!traditional:-D__stdc__} \
- %{!traditional:-D_LONGLONG} \
- %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \
+ -D__stdc__ -D_LONGLONG \
+ -Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long \
%{!ansi:-D_POSIX_SOURCE} \
%{!ansi:-D_CONVEX_SOURCE}"
-D_CONVEX_FLOAT_ \
%{!mc1:%{!mc2:%{!mc32:%{!mc34:-D__convex_c38__}}}} \
%{.S:-P} \
- %{!traditional:-D__stdc__} \
- %{!traditional:-D_LONGLONG} \
- %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \
+ -D__stdc__ -D_LONGLONG \
+ -Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long \
%{!ansi:-D_POSIX_SOURCE} \
%{!ansi:-D_CONVEX_SOURCE}"
#endif
-#define LIB_SPEC \
-"%{mc1:-lC1%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc2:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc32:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{mc34:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \
- %{!mc1:%{!mc2:%{!mc32:%{!mc34:-lC2%{traditional:_old}%{p:_p}%{pg:_p}}}}} \
- -lc%{traditional:_old}%{p:_p}%{pg:_p}"
+#define LIB_SPEC \
+"%{mc1:-lC1%{p:_p}%{pg:_p}} \
+ %{mc2:-lC2%{p:_p}%{pg:_p}} \
+ %{mc32:-lC2%{p:_p}%{pg:_p}} \
+ %{mc34:-lC2%{p:_p}%{pg:_p}} \
+ %{!mc1:%{!mc2:%{!mc32:%{!mc34:-lC2%{p:_p}%{pg:_p}}}}} \
+ -lc%{p:_p}%{pg:_p}"
#endif
#define ASM_SPEC "-fi"
#define LINK_SPEC \
-"-E%{traditional:no}posix \
+"-Eposix \
-X \
%{F} %{M*} %{y*} \
-fi \
-A__iob=___ap$iob \
-A_use_libc_sema=___ap$use_libc_sema \
- %{traditional:-A___gcc_cleanup=__cleanup} \
- %{!traditional:-A___gcc_cleanup=___ap$do_registered_functions} \
+ %-A___gcc_cleanup=___ap$do_registered_functions \
-L/usr/lib"
#define STARTFILE_SPEC \
#define ASM_SPEC "-fn"
#define LINK_SPEC \
-"-E%{traditional:no}posix \
+"-Eposix \
-X \
%{F} %{M*} %{y*} \
-fn \
-A__iob=___ap$iob \
-A_use_libc_sema=___ap$use_libc_sema \
- %{traditional:-A___gcc_cleanup=__cleanup} \
- %{!traditional:-A___gcc_cleanup=___ap$do_registered_functions} \
+ -A___gcc_cleanup=___ap$do_registered_functions \
-L/usr/lib"
#define STARTFILE_SPEC \
/* Define this if most significant word of a multiword number is numbered. */
#define WORDS_BIG_ENDIAN 1
-/* Number of bits in an addressable storage unit */
-#define BITS_PER_UNIT 8
-
/* Width in bits of a "word", which is the contents of a machine register.
Note that this is not necessarily the width of data type `int';
if using 16-bit ints on a 68000, this would still be 32.
jumps to the default label instead. */
/* #define CASE_DROPS_THROUGH */
-/* Specify the tree operation to be used to convert reals to integers. */
-#define IMPLICIT_FIX_EXPR FIX_ROUND_EXPR
-
-/* This is the kind of divide that is easiest to do in the general case. */
-#define EASY_DIV_EXPR TRUNC_DIV_EXPR
-
/* Define this as 1 if `char' should by default be signed; else as 0. */
#define DEFAULT_SIGNED_CHAR 1
in one reasonably fast instruction. */
#define MOVE_MAX 8
-/* Define this if zero-extension is slow (more than one real instruction). */
-/* #define SLOW_ZERO_EXTEND */
-
/* Nonzero if access to memory by bytes is slow and undesirable. */
#define SLOW_BYTE_ACCESS (! TARGET_C2)
#define DBX_DEBUGGING_INFO
-/* How to renumber registers for dbx and gdb. */
-
-#define DBX_REGISTER_NUMBER(REGNO) (REGNO)
-
/* Do not break .stabs pseudos into continuations. */
#define DBX_CONTIN_LENGTH 0
#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \
sprintf (LABEL, "*%s%d", PREFIX, NUM)
-/* This is how to output an assembler line defining a `double' constant. */
-
-#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
- outfloat (FILE, VALUE, "%.17e", "\tds.d ", "\n")
-
-/* This is how to output an assembler line defining a `float' constant. */
-
-#define ASM_OUTPUT_FLOAT(FILE,VALUE) \
- outfloat (FILE, VALUE, "%.9e", "\tds.s ", "\n")
-
-/* This is how to output an assembler line defining an `int' constant. */
-
-#define ASM_OUTPUT_INT(FILE,VALUE) \
-{ \
- fprintf (FILE, "\tds.w "); \
- output_addr_const (FILE, simplify_for_convex (VALUE)); \
- fprintf (FILE, "\n"); \
-}
-
-/* Likewise for a `long long int' constant. */
-
-#define ASM_OUTPUT_DOUBLE_INT(FILE,VALUE) \
-{ \
- if (GET_CODE (VALUE) == CONST_DOUBLE) \
- fprintf (FILE, "\tds.w %d,%d\n", \
- const_double_high_int (VALUE), const_double_low_int (VALUE)); \
- else if (GET_CODE (VALUE) == CONST_INT) \
- { \
- int val = INTVAL (VALUE); \
- fprintf (FILE, "\tds.w %d,%d\n", val < 0 ? -1 : 0, val); \
- } \
- else \
- abort (); \
-}
-
-/* Likewise for `char' and `short' constants. */
-
-#define ASM_OUTPUT_SHORT(FILE,VALUE) \
-( fprintf (FILE, "\tds.h "), \
- output_addr_const (FILE, (VALUE)), \
- fprintf (FILE, "\n"))
-
-#define ASM_OUTPUT_CHAR(FILE,VALUE) \
-( fprintf (FILE, "\tds.b "), \
- output_addr_const (FILE, (VALUE)), \
- fprintf (FILE, "\n"))
-
-/* This is how to output an assembler line for a numeric constant byte. */
-
-#define ASM_OUTPUT_BYTE(FILE,VALUE) \
- fprintf (FILE, "\tds.b %#x\n", (int)(VALUE))
-
/* This is how to output a string */
#define ASM_OUTPUT_ASCII(FILE,STR,SIZE) do { \
- int i; \
+ size_t i, limit = (SIZE); \
fprintf ((FILE), "\tds.b \""); \
- for (i = 0; i < (SIZE); i++) { \
+ for (i = 0; i < limit; i++) { \
register int c = (STR)[i] & 0377; \
if (c >= ' ' && c < 0177 && c != '\\' && c != '"') \
putc (c, (FILE)); \
#define FASCIST_ASSEMBLER
/* __gcc_cleanup is loader-aliased to __ap$do_registered_functions if we
- are linking against standard libc, 0 if old (-traditional) libc. */
+ are linking against standard libc. */
#define EXIT_BODY \
{ \
extern int target_cpu;
extern int current_section_is_text;
-extern enum reg_class regno_reg_class[];
-extern enum reg_class reg_class_from_letter[];
+extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
+extern enum reg_class reg_class_from_letter[256];
extern char regno_ok_for_index_p_base[];
#define regno_ok_for_index_p (regno_ok_for_index_p_base + 1)