From 270eeaa5a8aa964dd14e8db99af0885f2b3146f4 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 31 Jan 1996 08:22:42 -0500 Subject: [PATCH] (STRICT_ALIGNMENT): Define to zero. (LEGITIMATE_PIC_OPERAND_P): Match definition from m68kv4.h. (LIBCALL_VALUE): Return XFmode value in fp0. From-SVN: r11133 --- gcc/config/m68k/linux.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h index 589b361..641d976 100644 --- a/gcc/config/m68k/linux.h +++ b/gcc/config/m68k/linux.h @@ -1,5 +1,5 @@ /* 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. @@ -31,6 +31,11 @@ Boston, MA 02111-1307, USA. */ /* 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}, @@ -259,7 +264,8 @@ do { \ #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)) @@ -267,7 +273,10 @@ do { \ 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 -- 2.7.4