projects
/
gcc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
054b53f
)
(convert_move): When truncating, call force_reg first if
author
Jim Wilson
<wilson@gcc.gnu.org>
Wed, 8 Sep 1993 18:58:14 +0000
(11:58 -0700)
committer
Jim Wilson
<wilson@gcc.gnu.org>
Wed, 8 Sep 1993 18:58:14 +0000
(11:58 -0700)
it is something that gen_lowpart won't understand.
From-SVN: r5287
gcc/expr.c
patch
|
blob
|
history
diff --git
a/gcc/expr.c
b/gcc/expr.c
index cb48acd9c7940d49c11ffb74d077b567fe459e0c..0404c6b4a4cf1b5968c0e5e1f935b7076b13a96e 100644
(file)
--- a/
gcc/expr.c
+++ b/
gcc/expr.c
@@
-870,6
+870,13
@@
convert_move (to, from, unsignedp)
if (GET_MODE_BITSIZE (from_mode) > BITS_PER_WORD
&& GET_MODE_BITSIZE (to_mode) <= BITS_PER_WORD)
{
+ if (!((GET_CODE (from) == MEM
+ && ! MEM_VOLATILE_P (from)
+ && direct_load[(int) to_mode]
+ && ! mode_dependent_address_p (XEXP (from, 0)))
+ || GET_CODE (from) == REG
+ || GET_CODE (from) == SUBREG))
+ from = force_reg (from_mode, from);
convert_move (to, gen_lowpart (word_mode, from), 0);
return;
}