projects
/
platform
/
upstream
/
linaro-gcc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
607e8d5
)
(convert_move): Put FROM into a register if it is a SUBREG.
author
kenner
<kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Jul 1992 12:15:14 +0000
(12:15 +0000)
committer
kenner
<kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Jul 1992 12:15:14 +0000
(12:15 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1732
138bc75d
-0d04-0410-961f-
82ee72b054a4
gcc/expr.c
patch
|
blob
|
history
diff --git
a/gcc/expr.c
b/gcc/expr.c
index
1e4191f
..
8bb7e41
100644
(file)
--- a/
gcc/expr.c
+++ b/
gcc/expr.c
@@
-705,6
+705,12
@@
convert_move (to, from, unsignedp)
if ((code = can_extend_p (to_mode, from_mode, unsignedp))
!= CODE_FOR_nothing)
{
+ /* If FROM is a SUBREG, put it into a register. Do this
+ so that we always generate the same set of insns for
+ better cse'ing; if an intermediate assignment occurred,
+ we won't be doing the operation directly on the SUBREG. */
+ if (optimize > 0 && GET_CODE (from) == SUBREG)
+ from = force_reg (from_mode, from);
emit_unop_insn (code, to, from, equiv_code);
return;
}