target: e2k: Fix getsp src2 size.

This commit is contained in:
Denis Drakhnia 2020-12-03 21:04:53 +02:00 committed by Denis Drakhnia
parent a410422f9a
commit 0ac9e690a2
3 changed files with 4 additions and 4 deletions

View File

@ -10,7 +10,7 @@ DEF_HELPER_2(state_reg_read_i64, i64, env, int)
DEF_HELPER_2(state_reg_read_i32, i32, env, int)
DEF_HELPER_3(state_reg_write_i64, void, env, int, i64)
DEF_HELPER_3(state_reg_write_i32, void, env, int, i32)
DEF_HELPER_2(getsp, i64, env, i64) /* FIXME: return tl? */
DEF_HELPER_2(getsp, i64, env, i32) /* FIXME: return tl? */
DEF_HELPER_1(break_restore_state, void, env)
DEF_HELPER_2(setwd, void, env, i32)
DEF_HELPER_2(probe_read_access, int, env, tl)

View File

@ -92,10 +92,10 @@ void helper_state_reg_write_i32(CPUE2KState *env, int idx, uint32_t val)
}
}
uint64_t helper_getsp(CPUE2KState *env, uint64_t src2) {
uint64_t helper_getsp(CPUE2KState *env, uint32_t src2) {
uint64_t base = GET_FIELD(env->usd_lo, USD_LO_BASE_OFF, USD_LO_BASE_LEN);
base += src2;
base += (int32_t) src2;
/* TODO: stack overflow */
env->usd_lo = SET_FIELD(env->usd_lo, base, USD_LO_BASE_OFF,

View File

@ -1024,7 +1024,7 @@ static inline void gen_rw_i32(DisasContext *ctx, int chan)
static void gen_getsp(DisasContext *ctx, int chan)
{
Src64 s2 = get_src2_i64(ctx, chan);
Src32 s2 = get_src2_i32(ctx, chan);
TCGv_i64 dst = e2k_get_temp_i64(ctx);
// TODO: check tags