aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1995-02-18 17:26:23 +0000
committerDoug Evans <dje@gnu.org>1995-02-18 17:26:23 +0000
commit51600f3d9e15e9d8ed184c76f239799378896c19 (patch)
tree7e503ed1d64e6e4938bb69da65225a0222f0cef4 /gcc
parent816f495b8e2a0da5384a57bcb6cee5a633524af0 (diff)
downloadgcc-51600f3d9e15e9d8ed184c76f239799378896c19.zip
gcc-51600f3d9e15e9d8ed184c76f239799378896c19.tar.gz
gcc-51600f3d9e15e9d8ed184c76f239799378896c19.tar.bz2
lynx.h (FUNCTION_VALUE): Redefine.
* m68k/lynx.h (FUNCTION_VALUE): Redefine. (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, NEEDS_UNTYPED_CALL): Likewise. From-SVN: r8964
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m68k/lynx.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/gcc/config/m68k/lynx.h b/gcc/config/m68k/lynx.h
index eb90502..c8cb7dc 100644
--- a/gcc/config/m68k/lynx.h
+++ b/gcc/config/m68k/lynx.h
@@ -1,5 +1,5 @@
/* Definitions for Motorola 680x0 running LynxOS.
- Copyright (C) 1993, 1994 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -52,3 +52,22 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
{1, 1, 1, 1, 0, 0, 0, 0, \
1, 1, 0, 0, 0, 0, 0, 1, \
1, 1, 0, 0, 0, 0, 0, 0 }
+
+/* Return floating point values in a fp register. This make fp code a
+ little bit faster. It also makes -msoft-float code incompatible with
+ -m68881 code, so people have to be careful not to mix the two. */
+#undef FUNCTION_VALUE
+#define FUNCTION_VALUE(VALTYPE,FUNC) LIBCALL_VALUE (TYPE_MODE (VALTYPE))
+
+#undef LIBCALL_VALUE
+#define LIBCALL_VALUE(MODE) \
+ gen_rtx (REG, (MODE), \
+ ((TARGET_68881 \
+ && ((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode)) \
+ ? 16 : 0))
+
+#undef FUNCTION_VALUE_REGNO_P
+#define FUNCTION_VALUE_REGNO_P(N) ((N) == 0 || (TARGET_68881 && (N) == 16))
+
+#undef NEEDS_UNTYPED_CALL
+#define NEEDS_UNTYPED_CALL 1