From f4f21c206a4aea4a7b917569d2e2f4924406fed6 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Mon, 26 Jun 2006 20:31:43 +0000 Subject: [PATCH] * r8c.opc (decode_r8c): Don't bother reading the destination before moving a constant into it. Fix borrow comparison for SUB. --- sim/m32c/ChangeLog | 5 +++++ sim/m32c/r8c.opc | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sim/m32c/ChangeLog b/sim/m32c/ChangeLog index 2f1a37295e2..a3afdf00c74 100644 --- a/sim/m32c/ChangeLog +++ b/sim/m32c/ChangeLog @@ -1,3 +1,8 @@ +2006-06-26 DJ Delorie + + * 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 * configure: Regenerated. diff --git a/sim/m32c/r8c.opc b/sim/m32c/r8c.opc index 4db0bda0308..c731a5262ec 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 */ -- 2.30.2