/* Definitions of target machine for GNU compiler. Vax version.
- Copyright (C) 1987, 1988, 1991, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1991, 1993, 1994 Free Software Foundation, Inc.
This file is part of GNU CC.
/* Names to predefine in the preprocessor for this target machine. */
-#define CPP_PREDEFINES "-Dvax -Dunix"
+#define CPP_PREDEFINES "-Dvax -Dunix -Asystem(unix) -Asystem(bsd) -Acpu(vax) -Amachine(vax)"
/* If using g-format floating point, alter math.h. */
to the start of the trampoline. */
#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \
{ \
+ emit_insn (gen_rtx (ASM_INPUT, VOIDmode, \
+ "movpsl -(sp)\n\tpushal 1(pc)\n\trei")); \
emit_move_insn (gen_rtx (MEM, HImode, TRAMP), \
gen_rtx (MEM, HImode, FNADDR)); \
emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 4)), CXT);\
#define RTX_COSTS(RTX,CODE,OUTER_CODE) case FIX: case FLOAT: \
case MULT: case DIV: case UDIV: case MOD: case UMOD: \
- case LSHIFT: case ASHIFT: case LSHIFTRT: case ASHIFTRT: \
+ case ASHIFT: case LSHIFTRT: case ASHIFTRT: \
case ROTATE: case ROTATERT: case PLUS: case MINUS: case IOR: \
case XOR: case AND: case NEG: case NOT: case ZERO_EXTRACT: \
case SIGN_EXTRACT: case MEM: return vax_rtx_cost(RTX)
/* note that it is very hard to accidentally create a number that fits in a
double but not in a float, since their ranges are almost the same */
-#define CHECK_FLOAT_VALUE(mode, d) (check_float_value (mode, &d))
+#define CHECK_FLOAT_VALUE(MODE, D, OVERFLOW) \
+ ((OVERFLOW) = check_float_value (MODE, &D, OVERFLOW))
/* For future reference:
D Float: 9 bit, sign magnitude, excess 128 binary exponent