target/i386: tcg: remove FIXME
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini committed
Jun 22, 2026 at 16:39 UTC
21069e6b35bcff7da2e8605b5100d227ddbeb7c1
1 file changed
+3
-1
target/i386/tcg/emit.c.inc
+3
-1
@@ -3424,7 +3424,9 @@ static void gen_rot_overflow(X86DecodedInsn *decode, TCGv result, TCGv old,
3424
/*
3425
* RCx operations are invariant modulo 8*operand_size+1. For 8 and 16-bit operands,
3426
* this is less than 0x1f (the mask applied by gen_shift_count) so reduce further.
3427
- * FIXME: are flags updated if the count is nonzero, but a multiple of (8 << op) + 1?
3427
+ * A count that is a nonzero multiple of (8 << op) + 1 reduces to 0 and leaves
3428
+ * CF and OF unmodified (confirmed against hardware that rcl $9,%al behaves
3429
+ * exactly like rcl $0,%al).
3430
*/
3431
static MemOp gen_rotc_count(DisasContext *s, X86DecodedInsn *decode,
3432
bool *can_be_zero, TCGv *count, int unit)