From: Jim Wilson Date: Mon, 4 Mar 1996 23:38:50 +0000 (-0800) Subject: (PASS_IN_REG_P): Don't reject BLKmode for SH3e. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2425db7e1783d3e8f599051367bff707467c89ef;p=gcc.git (PASS_IN_REG_P): Don't reject BLKmode for SH3e. For SH3e, do reject parameter that won't fit entirely in registers. From-SVN: r11424 --- diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 13ff97d10a7..6f260fccc1a 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -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,