aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-07-28 19:21:33 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-07-28 19:21:33 -0400
commitbdbfbe18fce966f76d4c34ed47f0ba12f6ca7d21 (patch)
tree8fbe11243851f049b5d3ac019ff7e57ce507c302
parent9cad761615b48540e70e277debe1e49b5f3a82c2 (diff)
downloadgcc-bdbfbe18fce966f76d4c34ed47f0ba12f6ca7d21.zip
gcc-bdbfbe18fce966f76d4c34ed47f0ba12f6ca7d21.tar.gz
gcc-bdbfbe18fce966f76d4c34ed47f0ba12f6ca7d21.tar.bz2
(FUNCTION_VALUE): New override.
From-SVN: r7812
-rw-r--r--gcc/config/m68k/atari.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/m68k/atari.h b/gcc/config/m68k/atari.h
index 8b18c5a..b22a5f6 100644
--- a/gcc/config/m68k/atari.h
+++ b/gcc/config/m68k/atari.h
@@ -98,3 +98,16 @@ int switch_table_difference_label_flag;
asm_fprintf (FILE, "%s%%%d:\n", PREFIX, NUM); \
else \
asm_fprintf (FILE, "%0L%s%d:\n", PREFIX, NUM)
+
+/* Define how to generate (in the callee) the output value of a function
+ and how to find (in the caller) the value returned by a function. VALTYPE
+ is the data type of the value (as a tree). If the precise function being
+ called is known, FUNC is its FUNCTION_DECL; otherwise, FUNC is 0.
+ For the Atari generate the result in d0 or fp0 as appropriate. */
+
+#undef FUNCTION_VALUE
+#define FUNCTION_VALUE(VALTYPE, FUNC) \
+(TREE_CODE (VALTYPE) == REAL_TYPE && TARGET_68881 \
+ ? gen_rtx (REG, TYPE_MODE (VALTYPE), 16) \
+ : gen_rtx (REG, TYPE_MODE (VALTYPE), 0))
+