(PASS_IN_REG_P): Don't reject BLKmode for SH3e.
authorJim Wilson <wilson@gcc.gnu.org>
Mon, 4 Mar 1996 23:38:50 +0000 (15:38 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Mon, 4 Mar 1996 23:38:50 +0000 (15:38 -0800)
For SH3e, do reject parameter that won't fit entirely in registers.

From-SVN: r11424

gcc/config/sh/sh.h

index 13ff97d..6f260fc 100644 (file)
@@ -732,8 +732,7 @@ struct sh_args {
 #define PASS_IN_REG_P(CUM, MODE, TYPE) \
   (ROUND_REG ((CUM), (MODE)) < NPARM_REGS (MODE)               \
    && ((TYPE) == 0 || ! TREE_ADDRESSABLE ((tree)(TYPE)))       \
-   /* ??? This is questionable.  Should perhaps be deleted.  */        \
-   && (! TARGET_SH3E || (TYPE) == 0 || (MODE) != BLKmode))
+   && (TARGET_SH3E && (ROUND_REG((CUM), (MODE)) + (GET_MODE_SIZE(MODE)/4) < NPARM_REGS (MODE))))
 
 /* Define where to put the arguments to a function.
    Value is zero to push the argument on the stack,