OSDN Git Service

(TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO): Moved from unix target
authorjrv <jrv@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 31 Aug 1992 07:04:09 +0000 (07:04 +0000)
committerjrv <jrv@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 31 Aug 1992 07:04:09 +0000 (07:04 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2000 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/i386/unix.h

index 0594adf..16d4a35 100644 (file)
@@ -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))
+