Align passed structures with double alignment correctly.
authorMichael Meissner <meissner@gcc.gnu.org>
Thu, 22 Oct 1992 16:23:56 +0000 (16:23 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Thu, 22 Oct 1992 16:23:56 +0000 (16:23 +0000)
From-SVN: r2558

gcc/config/mips/mips.c

index 546174a..966dd85 100644 (file)
@@ -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: