diff --git a/cpu/ChangeLog b/cpu/ChangeLog
index dd469d1b8935b51b73a4ba5f94fc6c1160c4aa44..d2b0d0f137f49c483a0cb27017726dfd0b97c3c3 100644
--- a/cpu/ChangeLog
+++ b/cpu/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-22  Hans-Peter Nilsson  <hp@axis.com>
+
+	* cris.cpu (movs, movu): Use result of extension operation when
+	updating flags.
+
 2007-07-04  Nick Clifton  <nickc@redhat.com>
 
 	* cris.cpu: Update copyright notice to refer to GPLv3.
diff --git a/cpu/cris.cpu b/cpu/cris.cpu
index 2bb74dde82fb9cc440e187fb4f2a2b8afda69c1b..633abc0e12707c0863e3ff1b220cbb380aa0899c 100644
--- a/cpu/cris.cpu
+++ b/cpu/cris.cpu
@@ -2033,9 +2033,10 @@
  (.pmacro
   (BW)
   (sequence
-    ((BW newval))
-    (set newval Rs)
-    (set Rd (ext SI newval))
+    ((BW tmpops) (SI newval))
+    (set tmpops Rs)
+    (set newval (ext SI tmpops))
+    (set Rd newval)
     (setf-move SI newval)))
 )
 
@@ -2060,9 +2061,10 @@
  (.pmacro
   (BW)
   (sequence
-    ((BW newval))
-    (set newval Rs)
-    (set Rd (zext SI newval))
+    ((BW tmpops) (SI newval))
+    (set tmpops Rs)
+    (set newval (zext SI tmpops))
+    (set Rd newval)
     (setf-move SI newval)))
 )