Commit 43d7ac4e74e7b368ab0cc5beb45a0360ef56271c

Authored by edgar_igl
1 parent c5631f48

CRIS: Avoid cpu_T[1] for move_r.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5548 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 7 additions and 3 deletions
target-cris/translate.c
... ... @@ -1330,7 +1330,7 @@ static inline void do_postinc (DisasContext *dc, int size)
1330 1330 }
1331 1331  
1332 1332 static inline void dec_prep_move_r(DisasContext *dc, int rs, int rd,
1333   - int size, int s_ext, TCGv dst)
  1333 + int size, int s_ext, TCGv dst)
1334 1334 {
1335 1335 if (s_ext)
1336 1336 t_gen_sext(dst, cpu_R[rs], size);
... ... @@ -1603,10 +1603,14 @@ static unsigned int dec_move_r(DisasContext *dc)
1603 1603 cris_update_result(dc, cpu_R[dc->op2]);
1604 1604 }
1605 1605 else {
1606   - dec_prep_move_r(dc, dc->op1, dc->op2, size, 0, cpu_T[1]);
  1606 + TCGv t0;
  1607 +
  1608 + t0 = tcg_temp_new(TCG_TYPE_TL);
  1609 + dec_prep_move_r(dc, dc->op1, dc->op2, size, 0, t0);
1607 1610 cris_alu(dc, CC_OP_MOVE,
1608 1611 cpu_R[dc->op2],
1609   - cpu_R[dc->op2], cpu_T[1], size);
  1612 + cpu_R[dc->op2], t0, size);
  1613 + tcg_temp_free(t0);
1610 1614 }
1611 1615 return 2;
1612 1616 }
... ...