Hello, there's a bug in SP handling in disas_add_sub_ext_reg:
/* non-flag setting ops may use SP */ if (!setflags) { tcg_rn = read_cpu_reg_sp(s, rn, sf); tcg_rd = cpu_reg_sp(s, rd); } else { tcg_rn = read_cpu_reg(s, rn, sf); tcg_rd = cpu_reg(s, rd); } rn can always be SP no matter whether flags are set or not. Thanks, Laurent