qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] qemu/target-sparc translate.c


From: Fabrice Bellard
Subject: [Qemu-devel] qemu/target-sparc translate.c
Date: Wed, 21 Jun 2006 18:26:15 +0000

CVSROOT:        /sources/qemu
Module name:    qemu
Changes by:     Fabrice Bellard <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;
                }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]