diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 51371d311ac1e4a26e7cee240d6884bd36c8e1c2..7d291ea971b94f173c551e69b0d207743d434cc7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-26  Ben Elliston  <bje@wasabisystems.com>
+
+	* config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
+	return values from recog_memoized().
+
 2003-04-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
 	PR opt/8705
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 09a71c13b4e6f9657a5a566084877e58d8d744f7..8b002bd34ac78e0a3f4f6891c737f25894b61795 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -3474,8 +3474,8 @@ arm_adjust_cost (insn, link, dep, cost)
      on precisely how certain input operands are used.  */
   if (arm_is_xscale
       && REG_NOTE_KIND (link) == 0
-      && recog_memoized (insn) < 0
-      && recog_memoized (dep) < 0)
+      && recog_memoized (insn) >= 0
+      && recog_memoized (dep) >= 0)
     {
       int shift_opnum = get_attr_shift (insn);
       enum attr_type attr_type = get_attr_type (dep);