diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-14 10:17:17 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-14 10:17:17 +0000 |
commit | 8c9bf23a31dfff2a8a0747002961da3cced52d83 (patch) | |
tree | c91ae40f49d86e8517cd6f1738c07fff20d7750d /gcc/config/mips/mips.h | |
parent | b65ae28bc94ea0976062738a56aafa7542943a3e (diff) | |
download | gcc-8c9bf23a31dfff2a8a0747002961da3cced52d83.tar.gz |
* config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
* config/mips/mips.c (compute_frame_size): Retrofit them here.
(save_restore_insns, mips_expand_epilogue): And here.
(build_mips16_call_stub): And here.
(mips_function_value): Use the new macros to decide whether a single
or complex float can be returned in floating-point registers. Return
a parallel rtx in the complex case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50766 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mips/mips.h')
-rw-r--r-- | gcc/config/mips/mips.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index b4e4373637f..73d538379e9 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -1591,6 +1591,13 @@ do { \ /* For MIPS, width of a floating point register. */ #define UNITS_PER_FPREG (TARGET_FLOAT64 ? 8 : 4) +/* If register $f0 holds a floating-point value, $f(0 + FP_INC) is + the next available register. */ +#define FP_INC (TARGET_FLOAT64 || TARGET_SINGLE_FLOAT ? 1 : 2) + +/* The largest size of value that can be held in floating-point registers. */ +#define UNITS_PER_FPVALUE (FP_INC * UNITS_PER_FPREG) + /* A C expression for the size in bits of the type `int' on the target machine. If you don't define this, the default is one word. */ |