diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dce9b3877ee9260042ddfaaa62537473f7c38bcd..5967d864330662643cbc898fe9cb9c2bf3e85f1e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-08-18  Paolo Bonzini  <bonzini@gnu.org>
+
+	* c4x.c (legitimize_operands): Remove calls to
+	preserve_subexpressions_p.
+
 2004-08-18  David Edelsohn  <edelsohn@gnu.org>
 
 	* varasm.c (MAX_OFILE_ALIGNMENT): Move ...
diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c
index ead3631f47238e819a0388f49cee303fac97203f..e3ab61b8bb15fb4c93376fa6b848e7e8c9fa6d3f 100644
--- a/gcc/config/c4x/c4x.c
+++ b/gcc/config/c4x/c4x.c
@@ -3932,7 +3932,6 @@ legitimize_operands (enum rtx_code code, rtx *operands, enum machine_mode mode)
 	  && TARGET_HOIST
 	  && optimize > 0
 	  && GET_CODE (operands[1]) == CONST_INT 
-	  && preserve_subexpressions_p ()
 	  && rtx_cost (operands[1], code) > 1)
 	operands[1] = force_reg (mode, operands[1]);
       
@@ -3950,7 +3949,6 @@ legitimize_operands (enum rtx_code code, rtx *operands, enum machine_mode mode)
       && TARGET_HOIST
       && optimize > 1
       && GET_CODE (operands[2]) == CONST_INT
-      && preserve_subexpressions_p ()
       && rtx_cost (operands[2], code) > 1)
     operands[2] = force_reg (mode, operands[2]);