diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1994-10-04 20:47:05 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1994-10-04 20:47:05 +0000 |
commit | 713225d41db4603c3b42a96b7017190088f05623 (patch) | |
tree | 65021030fe50f1e6c5c7afdb3371e27ca32d10ad | |
parent | 80dd7630623737fe903af295e80646e5cfeade2b (diff) | |
download | gcc-713225d41db4603c3b42a96b7017190088f05623.zip gcc-713225d41db4603c3b42a96b7017190088f05623.tar.gz gcc-713225d41db4603c3b42a96b7017190088f05623.tar.bz2 |
Fix return complex doubles with -fpic clobbering %ebx
From-SVN: r8212
-rw-r--r-- | gcc/config/i386/i386.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 562f0bd..831ce91 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -462,6 +462,27 @@ extern int target_flags; /* Place in which caller passes the structure value address. 0 means push the value on the stack like an argument. */ #define STRUCT_VALUE 0 + +/* A C expression which can inhibit the returning of certain function + values in registers, based on the type of value. A nonzero value + says to return the function value in memory, just as large + structures are always returned. Here TYPE will be a C expression + of type `tree', representing the data type of the value. + + Note that values of mode `BLKmode' must be explicitly handled by + this macro. Also, the option `-fpcc-struct-return' takes effect + regardless of this macro. On most systems, it is possible to + leave the macro undefined; this causes a default definition to be + used, whose value is the constant 1 for `BLKmode' values, and 0 + otherwise. + + Do not use this macro to indicate that structures and unions + should always be returned in memory. You should instead use + `DEFAULT_PCC_STRUCT_RETURN' to indicate this. */ + +#define RETURN_IN_MEMORY(TYPE) \ + ((TYPE_MODE (TYPE) == BLKmode) || int_size_in_bytes (TYPE) > 12) + /* Define the classes of registers for register constraints in the machine description. Also define ranges of constants. |