diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1996-03-04 15:38:50 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1996-03-04 15:38:50 -0800 |
commit | 2425db7e1783d3e8f599051367bff707467c89ef (patch) | |
tree | a234bcafc34f724acf3ebe22d9d1256e20b9e9c5 | |
parent | af55dae3a378a8d4e111a9dbbf6056358d99c18b (diff) | |
download | gcc-2425db7e1783d3e8f599051367bff707467c89ef.zip gcc-2425db7e1783d3e8f599051367bff707467c89ef.tar.gz gcc-2425db7e1783d3e8f599051367bff707467c89ef.tar.bz2 |
(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
-rw-r--r-- | gcc/config/sh/sh.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 13ff97d..6f260fc 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, |