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
