By inspection, obviously we should be storing T[1] not T[0]. This could only happen for x86_64 in 64-bit mode with 0x66 prefix to call insn -- i.e. never.
Signed-off-by: Richard Henderson <r...@twiddle.net> --- target-i386/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-i386/translate.c b/target-i386/translate.c index b28663b..c1591d9 100644 --- a/target-i386/translate.c +++ b/target-i386/translate.c @@ -2487,7 +2487,7 @@ static void gen_push_T1(DisasContext *s) gen_op_st_v(s, MO_64, cpu_T[1], cpu_A0); } else { gen_op_addq_A0_im(-2); - gen_op_st_v(s, MO_16, cpu_T[0], cpu_A0); + gen_op_st_v(s, MO_16, cpu_T[1], cpu_A0); } gen_op_mov_reg_A0(2, R_ESP); } else -- 1.8.3.1