diff options
author | Nick Clifton <nickc@cygnus.com> | 1999-08-02 08:40:22 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 1999-08-02 08:40:22 +0000 |
commit | 96843fa263b57c85487681faaa36181db6617f4c (patch) | |
tree | 176a38b50002370c7e46319703a1a38f0ef05434 /gcc/explow.c | |
parent | 720988020dba9f4ae0056b3d7119a69059fdb1f0 (diff) | |
download | gcc-96843fa263b57c85487681faaa36181db6617f4c.zip gcc-96843fa263b57c85487681faaa36181db6617f4c.tar.gz gcc-96843fa263b57c85487681faaa36181db6617f4c.tar.bz2 |
Call force_operand if X does not satisfy general_operand
From-SVN: r28399
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 92f99ad..ab04951 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 |