aboutsummaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-12-15 00:30:28 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-12-15 00:30:28 +0000
commit27ee5df007d34f78fef5fbc64fd6e147684a25cc (patch)
tree2bb8c774d1b2706849f960ecbb1eab2f6987fc9e /target-ppc
parent9a819377d80f99a4293fd753dd1e90e6cbd618d2 (diff)
target-ppc: fix mtfsf and mtfsfi instructions
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6035 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc')
-rw-r--r--target-ppc/op_helper.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c
index a26b1ddb28..2d665e8d22 100644
--- a/target-ppc/op_helper.c
+++ b/target-ppc/op_helper.c
@@ -986,9 +986,9 @@ void helper_store_fpscr (uint64_t arg, uint32_t mask)
prev = env->fpscr;
new = (uint32_t)arg;
- new &= ~0x90000000;
- new |= prev & 0x90000000;
- for (i = 0; i < 7; i++) {
+ new &= ~0x60000000;
+ new |= prev & 0x60000000;
+ for (i = 0; i < 8; i++) {
if (mask & (1 << i)) {
env->fpscr &= ~(0xF << (4 * i));
env->fpscr |= new & (0xF << (4 * i));