From 96843fa263b57c85487681faaa36181db6617f4c Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 2 Aug 1999 08:40:22 +0000 Subject: [PATCH] Call force_operand if X does not satisfy general_operand From-SVN: r28399 --- gcc/ChangeLog | 5 +++++ gcc/explow.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 445b9f66230..d8aa90b5c8d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Aug 2 09:38:10 1999 Nick Clifton + + * explow.c (force_reg): Call force_operand if X does not + satisfy general_operand. + Mon Aug 2 01:34:22 1999 Jeffrey A Law (law@cygnus.com) * fix-header.c (main): When testing for CONTINUED, use string 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 -- 2.30.2