On 28/5/26 17:12, Paolo Bonzini wrote:
RCR and RCL instructions with a count of 9 are the same as if the
count was 0, but they generated incorrect code because the can_be_zero
flag is false.  This causes 0 to underflow into -1 at
tcg_gen_subi_tl(count, count, 1).

Fix by absorbind the call to gen_shift_count() into gen_rotc_mod(),
so that the new function handles both mask and mod.

Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3452

S-o-b?

---
  target/i386/tcg/emit.c.inc | 85 +++++++++++++++++++++++---------------
  roms/opensbi               |  2 +-

(Unrelated)

  2 files changed, 53 insertions(+), 34 deletions(-)


Reply via email to