* r8c.opc (decode_r8c): Don't bother reading the destination
authorDJ Delorie <dj@redhat.com>
Mon, 26 Jun 2006 20:31:43 +0000 (20:31 +0000)
committerDJ Delorie <dj@redhat.com>
Mon, 26 Jun 2006 20:31:43 +0000 (20:31 +0000)
before moving a constant into it.  Fix borrow comparison for SUB.

sim/m32c/ChangeLog
sim/m32c/r8c.opc

index 2f1a37295e294d16fb870166a28eba8e90ae8414..a3afdf00c74b4e65c9bb43006964e3329ae769c0 100644 (file)
@@ -1,3 +1,8 @@
+2006-06-26  DJ Delorie  <dj@redhat.com>
+
+       * r8c.opc (decode_r8c): Don't bother reading the destination
+       before moving a constant into it.  Fix borrow comparison for SUB.
+
 2006-06-13  Richard Earnshaw  <rearnsha@arm.com>
 
        * configure: Regenerated.
index 4db0bda030803e2029094264be00948efce80c9c..c731a5262ecdff74161d4a3591a13b44b765e33a 100644 (file)
@@ -885,7 +885,7 @@ decode_r8c()
 
   /** 0111 010w 1100 dest  MOV.size:G #IMM,dest */
 
-  UNARY_UOP;
+  dc = decode_srcdest4 (dest, w);
   imm = IMM(w);
   v = imm;
   tprintf("%x = %x\n", v, v);
@@ -894,7 +894,7 @@ decode_r8c()
 
   /** 1101 100w immm dest  MOV.size:Q #IMM,dest */
 
-  UNARY_SOP;
+  dc = decode_srcdest4 (dest, w);
   v = sign_ext (immm, 4);
   tprintf ("%x = %x\n", v, v);
   set_sz (v, w+1);
@@ -1530,14 +1530,14 @@ decode_r8c()
   sc = decode_srcdest4(srcx, w);
   dc = decode_srcdest4(dest, w);
   b = get_src (sc);
-  MATH_OP (dc, b, 0, -, > 0);
+  MATH_OP (dc, b, 0, -, >= 0);
 
   /** 0010 1d sr           SUB.B:S src,R0L/R0H */
 
   sc = decode_src2 (sr, 0, d);
   dc = decode_dest1 (d, 0);
   b = get_src (sc);
-  MATH_OP (dc, b, 0, -, > 0);
+  MATH_OP (dc, b, 0, -, >= 0);
 
   /** 0111 011w 0000 dest  TST.size #IMM, dest */