diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1992-10-22 16:23:56 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1992-10-22 16:23:56 +0000 |
commit | df7fef57d1177b1a84c77723a255ec2b283228af (patch) | |
tree | 401543d09cf661158fbc15a69f458b63dde4d3b5 | |
parent | 51bdc4d3b802e57f5711d8a1a6f81749ce99a245 (diff) | |
download | gcc-df7fef57d1177b1a84c77723a255ec2b283228af.zip gcc-df7fef57d1177b1a84c77723a255ec2b283228af.tar.gz gcc-df7fef57d1177b1a84c77723a255ec2b283228af.tar.bz2 |
Align passed structures with double alignment correctly.
From-SVN: r2558
-rw-r--r-- | gcc/config/mips/mips.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 546174a..966dd85 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -2529,8 +2529,14 @@ function_arg (cum, mode, type, named) : FP_ARG_FIRST; break; - case VOIDmode: case BLKmode: + if (type != (tree)0 && TYPE_ALIGN (type) > BITS_PER_WORD) + cum->arg_words += (cum->arg_words & 1); + + regbase = GP_ARG_FIRST; + break; + + case VOIDmode: case QImode: case HImode: case SImode: |