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(-)