diff options
author | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-02 08:40:22 +0000 |
---|---|---|
committer | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-02 08:40:22 +0000 |
commit | 40aba9a2af887bcb94a7fda22224e459ca7a8b0c (patch) | |
tree | 176a38b50002370c7e46319703a1a38f0ef05434 /gcc/explow.c | |
parent | e516a858df9eafd6a967e99f5d7cb7533aa84904 (diff) | |
download | gcc-40aba9a2af887bcb94a7fda22224e459ca7a8b0c.tar.gz |
Call force_operand if X does not satisfy general_operand
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28399 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/explow.c')
-rw-r--r-- | gcc/explow.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/explow.c b/gcc/explow.c index 92f99ad65f2..ab0495190c7 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -730,7 +730,12 @@ force_reg (mode, x) if (GET_CODE (x) == REG) return x; + temp = gen_reg_rtx (mode); + + if (! general_operand (x, mode)) + x = force_operand (x, NULL_RTX); + insn = emit_move_insn (temp, x); /* Let optimizers know that TEMP's value never changes |