diff options
Diffstat (limited to 'sim/m32c')
-rw-r--r-- | sim/m32c/ChangeLog | 5 | ||||
-rw-r--r-- | sim/m32c/r8c.opc | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/sim/m32c/ChangeLog b/sim/m32c/ChangeLog index 2f1a372..a3afdf0 100644 --- a/sim/m32c/ChangeLog +++ b/sim/m32c/ChangeLog @@ -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. diff --git a/sim/m32c/r8c.opc b/sim/m32c/r8c.opc index 4db0bda..c731a52 100644 --- a/sim/m32c/r8c.opc +++ b/sim/m32c/r8c.opc @@ -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 */ |