/* Definitions for Motorola 68k running Linux with ELF format.
- Copyright (C) 1995 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996 Free Software Foundation, Inc.
This file is part of GNU CC.
/* 68020 with 68881 */
#define TARGET_DEFAULT 7
+/* for 68k machines this only needs to be TRUE for the 68000 */
+
+#undef STRICT_ALIGNMENT
+#define STRICT_ALIGNMENT 0
+
#undef SUBTARGET_SWITCHES
#define SUBTARGET_SWITCHES {"ieee-fp", 0},
#undef LIBCALL_VALUE
#define LIBCALL_VALUE(MODE) \
- (((MODE) == SFmode || (MODE) == DFmode) && TARGET_68881 \
+ ((((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode) \
+ && TARGET_68881) \
? gen_rtx (REG, (MODE), 16) \
: gen_rtx (REG, (MODE), 0))
an operand of a function call. */
#undef LEGITIMATE_PIC_OPERAND_P
#define LEGITIMATE_PIC_OPERAND_P(X) \
- (! symbolic_operand (X, VOIDmode) \
+ ((! symbolic_operand (X, VOIDmode) \
+ && ! (GET_CODE (X) == CONST_DOUBLE && CONST_DOUBLE_MEM (X) \
+ && GET_CODE (CONST_DOUBLE_MEM (X)) == MEM \
+ && symbolic_operand (XEXP (CONST_DOUBLE_MEM (X), 0), VOIDmode))) \
|| (GET_CODE (X) == SYMBOL_REF && SYMBOL_REF_FLAG (X)))
/* Turn off function cse if we are doing PIC. We always want function