Commit 07bf2857b8517711b5af2c516208bf87c546419f

Authored by blueswir1
1 parent 2daf0284

Avoid temporary variable use across basic blocks for udivx

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4744 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 4 additions and 2 deletions
target-sparc/translate.c
... ... @@ -3068,8 +3068,10 @@ static void disas_sparc_insn(DisasContext * dc)
3068 3068 break;
3069 3069 #ifdef TARGET_SPARC64
3070 3070 case 0xd: /* V9 udivx */
3071   - gen_trap_ifdivzero_tl(cpu_src2);
3072   - tcg_gen_divu_i64(cpu_dst, cpu_src1, cpu_src2);
  3071 + tcg_gen_mov_tl(cpu_cc_src, cpu_src1);
  3072 + tcg_gen_mov_tl(cpu_cc_src2, cpu_src2);
  3073 + gen_trap_ifdivzero_tl(cpu_cc_src2);
  3074 + tcg_gen_divu_i64(cpu_dst, cpu_cc_src, cpu_cc_src2);
3073 3075 break;
3074 3076 #endif
3075 3077 case 0xe:
... ...