diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-18 03:36:07 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-18 03:36:07 +0000 |
commit | c6d6dd7c74aaf8ca156d4589adff060078ec20ef (patch) | |
tree | 90ee5e7bfd3884d1541144ea1ef28712fa22c81e /target-mips/op_helper.c | |
parent | 8c89395eebc4c88e35949b3310254f0d893379c5 (diff) |
Fix MIPS64 R2 instructions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3686 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/op_helper.c')
-rw-r--r-- | target-mips/op_helper.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c index 7d74efc45b..4391e551ba 100644 --- a/target-mips/op_helper.c +++ b/target-mips/op_helper.c @@ -106,8 +106,8 @@ void do_drotr (void) target_ulong tmp; if (T1) { - tmp = T0 << (0x40 - T1); - T0 = (T0 >> T1) | tmp; + tmp = T0 << (0x40 - T1); + T0 = (T0 >> T1) | tmp; } } @@ -115,10 +115,8 @@ void do_drotr32 (void) { target_ulong tmp; - if (T1) { - tmp = T0 << (0x40 - (32 + T1)); - T0 = (T0 >> (32 + T1)) | tmp; - } + tmp = T0 << (0x40 - (32 + T1)); + T0 = (T0 >> (32 + T1)) | tmp; } void do_dsllv (void) @@ -142,10 +140,10 @@ void do_drotrv (void) T0 &= 0x3F; if (T0) { - tmp = T1 << (0x40 - T0); - T0 = (T1 >> T0) | tmp; + tmp = T1 << (0x40 - T0); + T0 = (T1 >> T0) | tmp; } else - T0 = T1; + T0 = T1; } void do_dclo (void) |