On 10/09/2017 06:48 AM, Peter Maydell wrote: > Recent changes have left insn_crosses_page() more complicated > than it needed to be: > * it's only called from thumb_tr_translate_insn() so we know > for certain that we're looking at a Thumb insn > * the caller's check for dc->pc >= dc->next_page_start - 3 > means that dc->pc can't possibly be 4 aligned, so there's > no need to check that (the check was partly there to ensure > that we didn't treat an ARM insn as Thumb, I think) > * we now have thumb_insn_is_16bit() which lets us do a precise > check of the length of the next insn, rather than opencoding > an inaccurate check > > Simplify it down to just loading the first half of the insn > and calling thumb_insn_is_16bit() on it. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > target/arm/translate.c | 27 ++++++--------------------- > 1 file changed, 6 insertions(+), 21 deletions(-)
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~