diff options
author | Doug Evans <dje@gnu.org> | 1993-03-12 00:10:21 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1993-03-12 00:10:21 +0000 |
commit | e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc (patch) | |
tree | db4aa309ff091e04ba8f5df5c60b09e38c6ea2db /gcc/config/i960 | |
parent | ac07e0665d5044978a404837c22bfbf4adbe7ffa (diff) | |
download | gcc-e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc.zip gcc-e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc.tar.gz gcc-e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc.tar.bz2 |
* (RETURN_IN_MEMORY): Handle BLKmode values.
From-SVN: r3709
Diffstat (limited to 'gcc/config/i960')
-rw-r--r-- | gcc/config/i960/i960.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/config/i960/i960.h b/gcc/config/i960/i960.h index 265a2e6..01d2c5e 100644 --- a/gcc/config/i960/i960.h +++ b/gcc/config/i960/i960.h @@ -814,10 +814,11 @@ extern struct rtx_def *i960_function_arg (); #define FUNCTION_VALUE(TYPE, FUNC) \ gen_rtx (REG, TYPE_MODE (TYPE), 0) -/* Force objects larger than 16 bytes to be returned in memory, since we - only have 4 registers available for return values. */ +/* Force aggregates and objects larger than 16 bytes to be returned in memory, + since we only have 4 registers available for return values. */ -#define RETURN_IN_MEMORY(TYPE) (int_size_in_bytes (TYPE) > 16) +#define RETURN_IN_MEMORY(TYPE) \ + (TYPE_MODE (TYPE) == BLKmode || int_size_in_bytes (TYPE) > 16) /* For an arg passed partly in registers and partly in memory, this is the number of registers used. |