aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Van Artsdalen <jrv@gnu.org>1992-08-31 07:04:09 +0000
committerJames Van Artsdalen <jrv@gnu.org>1992-08-31 07:04:09 +0000
commitbbda1b9c4a004f8174adfb0500a6d728d4d9579c (patch)
treeab2d1d6c496794e68e1cad92884b0168be9244bb
parent582329cb7600bb4f409e59c62f2ad248d89d93c4 (diff)
downloadgcc-bbda1b9c4a004f8174adfb0500a6d728d4d9579c.zip
gcc-bbda1b9c4a004f8174adfb0500a6d728d4d9579c.tar.gz
gcc-bbda1b9c4a004f8174adfb0500a6d728d4d9579c.tar.bz2
(TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO): Moved from unix target files (aix386.h...
(TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO): Moved from unix target files (aix386.h, i386gas.h, i386sun.h, i386v.h, i386v4.h, i386vgas.h, seq386.h). (TARGET_DEFAULT): Make TARGET_IEEE_FP default on. (VALUE_REGNO): Test for MODE_FLOAT instead of specific modes. (VALUE_REGNO,FUNCTION_VALUE_REGNO): MODE_FLOAT return reg depends on TARGET_FLOAT_RETURNS_IN_80387. From-SVN: r2000
-rw-r--r--gcc/config/i386/unix.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/config/i386/unix.h b/gcc/config/i386/unix.h
index 0594adf..16d4a35 100644
--- a/gcc/config/i386/unix.h
+++ b/gcc/config/i386/unix.h
@@ -125,3 +125,21 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define ASM_GLOBALIZE_LABEL(FILE,NAME) \
(fputs (".globl ", FILE), assemble_name (FILE, NAME), fputs ("\n", FILE))
+
+/* By default, target has a 80387, uses IEEE compatible arithmetic,
+ and returns float values in the 387, ie,
+ (TARGET_80387 | TARGET_IEEE_FP | TARGET_FLOAT_RETURNS_IN_80387) */
+
+#define TARGET_DEFAULT 0301
+
+/* Floating-point return values come in the FP register. */
+
+#define VALUE_REGNO(MODE) \
+ (GET_MODE_CLASS (MODE) == MODE_FLOAT \
+ && TARGET_FLOAT_RETURNS_IN_80387 ? FIRST_FLOAT_REG : 0)
+
+/* 1 if N is a possible register number for a function value. */
+
+#define FUNCTION_VALUE_REGNO_P(N) \
+ ((N) == 0 || ((N)== FIRST_FLOAT_REG && TARGET_FLOAT_RETURNS_IN_80387))
+