summaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2008-12-10 09:43:14 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2008-12-10 09:43:14 +0000
commitcc7c7762d9ba86eb59eaea7d53a946bd13f2affe (patch)
tree377e3a187ff9554de9073cdea90feb2dc49c60ec /gcc/reload1.c
parent005927ac5d0090e0405b3401fbeee84251f091ff (diff)
downloadgcc-cc7c7762d9ba86eb59eaea7d53a946bd13f2affe.tar.gz
2008-12-10 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r142640 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@142641 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index ac1e874b124..ffde2bf94d8 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -6084,9 +6084,10 @@ choose_reload_regs (struct insn_chain *chain)
need_mode = mode;
else
need_mode
- = smallest_mode_for_size (GET_MODE_BITSIZE (mode)
- + byte * BITS_PER_UNIT,
- GET_MODE_CLASS (mode));
+ = smallest_mode_for_size
+ (GET_MODE_BITSIZE (mode) + byte * BITS_PER_UNIT,
+ GET_MODE_CLASS (mode) == MODE_PARTIAL_INT
+ ? MODE_INT : GET_MODE_CLASS (mode));
if ((GET_MODE_SIZE (GET_MODE (last_reg))
>= GET_MODE_SIZE (need_mode))