From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ft7P7-00016r-W6 for qemu-devel@nongnu.org; Wed, 21 Jun 2006 14:26:18 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ft7P6-00016F-Jr for qemu-devel@nongnu.org; Wed, 21 Jun 2006 14:26:16 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ft7P6-00016C-Em for qemu-devel@nongnu.org; Wed, 21 Jun 2006 14:26:16 -0400 Received: from [199.232.41.3] (helo=savannah.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.52) id 1Ft7Zu-0006Ub-1l for qemu-devel@nongnu.org; Wed, 21 Jun 2006 14:37:26 -0400 Received: from savannah.gnu.org ([127.0.0.1]) by savannah.gnu.org with esmtp (Exim 3.36 #1 (Debian)) id 1Ft7P5-0000AZ-00 for ; Wed, 21 Jun 2006 14:26:15 -0400 Received: from bellard by savannah.gnu.org with local (Exim 4.50) id 1Ft7P5-0000AW-Fu for qemu-devel@nongnu.org; Wed, 21 Jun 2006 18:26:15 +0000 Message-Id: From: Fabrice Bellard Date: Wed, 21 Jun 2006 18:26:15 +0000 Subject: [Qemu-devel] qemu/target-sparc translate.c Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org CVSROOT: /sources/qemu Module name: qemu Changes by: Fabrice Bellard 06/06/21 18:26:15 Modified files: target-sparc : translate.c Log message: sparc branch fix (Blue Swirl) CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/translate.c?cvsroot=qemu&r1=1.27&r2=1.28 Patches: Index: translate.c =================================================================== RCS file: /sources/qemu/qemu/target-sparc/translate.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -b -r1.27 -r1.28 --- translate.c 18 Jun 2006 19:36:58 -0000 1.27 +++ translate.c 21 Jun 2006 18:26:15 -0000 1.28 @@ -956,8 +956,8 @@ int cc; target = GET_FIELD_SP(insn, 0, 18); - target <<= 2; target = sign_extend(target, 18); + target <<= 2; cc = GET_FIELD_SP(insn, 20, 21); if (cc == 0) do_branch(dc, target, insn, 0); @@ -971,8 +971,8 @@ { target = GET_FIELD_SP(insn, 0, 13) | (GET_FIELD_SP(insn, 20, 21) >> 7); - target <<= 2; target = sign_extend(target, 16); + target <<= 2; rs1 = GET_FIELD(insn, 13, 17); gen_movl_reg_T0(rs1); do_branch_reg(dc, target, insn); @@ -986,8 +986,8 @@ gen_op_trap_ifnofpu(); #endif target = GET_FIELD_SP(insn, 0, 18); - target <<= 2; target = sign_extend(target, 19); + target <<= 2; do_fbranch(dc, target, insn, cc); goto jmp_insn; } @@ -995,8 +995,8 @@ case 0x2: /* BN+x */ { target = GET_FIELD(insn, 10, 31); - target <<= 2; target = sign_extend(target, 22); + target <<= 2; do_branch(dc, target, insn, 0); goto jmp_insn; } @@ -1007,8 +1007,8 @@ gen_op_trap_ifnofpu(); #endif target = GET_FIELD(insn, 10, 31); - target <<= 2; target = sign_extend(target, 22); + target <<= 2; do_fbranch(dc, target, insn, 0); goto jmp_insn; }