summaryrefslogtreecommitdiff
path: root/gcc/config/m68k/atari.h
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-07-28 23:21:33 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-07-28 23:21:33 +0000
commit7871f7db2fee67b8dccf1945522e1fd4aa2b6c3d (patch)
tree8fbe11243851f049b5d3ac019ff7e57ce507c302 /gcc/config/m68k/atari.h
parentf5e8c48d96889505c9c3a4ef17abf0a34e733d52 (diff)
downloadgcc-7871f7db2fee67b8dccf1945522e1fd4aa2b6c3d.tar.gz
(FUNCTION_VALUE): New override.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7812 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68k/atari.h')
-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 8b18c5a058b..b22a5f6a659 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))
+