diff --git a/target-microblaze/helper.h b/target-microblaze/helper.h index 9c2a1e4b6d11a64747636cca815a252805f596f6..1696b885b68957939727554dd41f5374ea69f7a8 100644 --- a/target-microblaze/helper.h +++ b/target-microblaze/helper.h @@ -2,7 +2,7 @@ DEF_HELPER_1(raise_exception, void, i32) DEF_HELPER_0(debug, void) -DEF_HELPER_FLAGS_3(addkc, TCG_CALL_PURE | TCG_CALL_CONST, i32, i32, i32, i32) +DEF_HELPER_FLAGS_3(carry, TCG_CALL_PURE | TCG_CALL_CONST, i32, i32, i32, i32) DEF_HELPER_2(cmp, i32, i32, i32) DEF_HELPER_2(cmpu, i32, i32, i32) diff --git a/target-microblaze/op_helper.c b/target-microblaze/op_helper.c index 59e4674ded765c32558cd59fe05876aecae677c3..d75a53cc547396d7eaf88b4c536dcfcec9a5bbf6 100644 --- a/target-microblaze/op_helper.c +++ b/target-microblaze/op_helper.c @@ -128,12 +128,9 @@ uint32_t helper_cmpu(uint32_t a, uint32_t b) return t; } -uint32_t helper_addkc(uint32_t a, uint32_t b, uint32_t cf) +uint32_t helper_carry(uint32_t a, uint32_t b, uint32_t cf) { - uint32_t d, ncf; - - d = a + b + cf; - + uint32_t ncf; ncf = compute_carry(a, b, cf); return ncf; } diff --git a/target-microblaze/translate.c b/target-microblaze/translate.c index 0c5edc3583b70b88a6cf646d8c8eeec8a8f8c3e6..220743195cb66dd49c2cc2815ec7031c63fa712e 100644 --- a/target-microblaze/translate.c +++ b/target-microblaze/translate.c @@ -232,13 +232,13 @@ static void dec_add(DisasContext *dc) if (dc->rd) { TCGv ncf = tcg_temp_new(); - gen_helper_addkc(ncf, cpu_R[dc->ra], *(dec_alu_op_b(dc)), cf); + gen_helper_carry(ncf, cpu_R[dc->ra], *(dec_alu_op_b(dc)), cf); tcg_gen_add_tl(cpu_R[dc->rd], cpu_R[dc->ra], *(dec_alu_op_b(dc))); tcg_gen_add_tl(cpu_R[dc->rd], cpu_R[dc->rd], cf); write_carry(dc, ncf); tcg_temp_free(ncf); } else { - gen_helper_addkc(cf, cpu_R[dc->ra], *(dec_alu_op_b(dc)), cf); + gen_helper_carry(cf, cpu_R[dc->ra], *(dec_alu_op_b(dc)), cf); write_carry(dc, cf); } tcg_temp_free(cf); @@ -302,13 +302,13 @@ static void dec_sub(DisasContext *dc) if (dc->rd) { TCGv ncf = tcg_temp_new(); - gen_helper_addkc(ncf, na, *(dec_alu_op_b(dc)), cf); + gen_helper_carry(ncf, na, *(dec_alu_op_b(dc)), cf); tcg_gen_add_tl(cpu_R[dc->rd], na, *(dec_alu_op_b(dc))); tcg_gen_add_tl(cpu_R[dc->rd], cpu_R[dc->rd], cf); write_carry(dc, ncf); tcg_temp_free(ncf); } else { - gen_helper_addkc(cf, na, *(dec_alu_op_b(dc)), cf); + gen_helper_carry(cf, na, *(dec_alu_op_b(dc)), cf); write_carry(dc, cf); } tcg_temp_free(cf);