diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-11-11 00:24:58 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-11-11 00:24:58 +0000 |
commit | 9e61bde56a65c92ff67559f8ab94887f8aa57a4d (patch) | |
tree | 243d5f584c5d9b6066393c4831472ed38f897893 /target-sparc/translate.c | |
parent | 4787c71d179ae9b67b0e682a2a95b6ceca4e68c4 (diff) |
sparc merge (Blue Swirl)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1620 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc/translate.c')
-rw-r--r-- | target-sparc/translate.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/target-sparc/translate.c b/target-sparc/translate.c index c2ba2e35cd..9abcedda73 100644 --- a/target-sparc/translate.c +++ b/target-sparc/translate.c @@ -1897,6 +1897,11 @@ static void disas_sparc_insn(DisasContext * dc) #else gen_op_xor_T1_T0(); gen_op_wrpsr(); + save_state(dc); + gen_op_next_insn(); + gen_op_movl_T0_0(); + gen_op_exit_tb(); + dc->is_br = 1; #endif } break; @@ -2343,8 +2348,8 @@ static void disas_sparc_insn(DisasContext * dc) gen_op_store_FT0_fpr(rd); break; case 0x21: /* load fsr */ + gen_op_ldst(ldf); gen_op_ldfsr(); - gen_op_store_FT0_fpr(rd); break; case 0x22: /* load quad fpreg */ goto nfpu_insn; @@ -2426,9 +2431,8 @@ static void disas_sparc_insn(DisasContext * dc) gen_op_ldst(stf); break; case 0x25: /* stfsr, V9 stxfsr */ - gen_op_load_fpr_FT0(rd); - // XXX gen_op_stfsr(); + gen_op_ldst(stf); break; case 0x26: /* stdfq */ goto nfpu_insn; |