Commit 46d38ba89d37561a6fbf58a7ff567d0931b7c602
1 parent
fda77c2d
Fix Sparc64 movr
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3045 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
2 additions
and
2 deletions
target-sparc/translate.c
... | ... | @@ -84,7 +84,7 @@ enum { |
84 | 84 | GET_FIELD(X, 31 - (TO), 31 - (FROM)) |
85 | 85 | |
86 | 86 | #define GET_FIELDs(x,a,b) sign_extend (GET_FIELD(x,a,b), (b) - (a) + 1) |
87 | -#define GET_FIELD_SPs(x,a,b) sign_extend (GET_FIELD_SP(x,a,b), 32 - ((b) - (a) + 1)) | |
87 | +#define GET_FIELD_SPs(x,a,b) sign_extend (GET_FIELD_SP(x,a,b), ((b) - (a) + 1)) | |
88 | 88 | |
89 | 89 | #ifdef TARGET_SPARC64 |
90 | 90 | #define DFPREG(r) (((r & 1) << 6) | (r & 0x1e)) |
... | ... | @@ -2226,7 +2226,7 @@ static void disas_sparc_insn(DisasContext * dc) |
2226 | 2226 | gen_movl_reg_T0(rs1); |
2227 | 2227 | gen_cond_reg(cond); |
2228 | 2228 | if (IS_IMM) { /* immediate */ |
2229 | - rs2 = GET_FIELD_SPs(insn, 0, 10); | |
2229 | + rs2 = GET_FIELD_SPs(insn, 0, 9); | |
2230 | 2230 | gen_movl_simm_T1(rs2); |
2231 | 2231 | } |
2232 | 2232 | else { | ... | ... |