]> git.proxmox.com Git - mirror_qemu.git/commit - target/arm/translate.c
target-arm: Simplify insn_crosses_page()
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 9 Oct 2017 13:48:37 +0000 (14:48 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 12 Oct 2017 12:23:14 +0000 (13:23 +0100)
commit5b8d7289e9e92a0d7bcecb93cd189e245fef10cd
treece5d0e090280463843614016f6d1fd36619930ce
parent296e5a0a6c393553079a641c50521ae33ff89324
target-arm: Simplify insn_crosses_page()

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.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1507556919-24992-8-git-send-email-peter.maydell@linaro.org
target/arm/translate.c