I'm grepping the tree for "} if" lines...
I'm confident that these were intended as "else if", compare the
corresponding ror_* functions. Also, it doesn't actually change
the result.
ok?
Index: sys/dev/x86emu/x86emu.c
===================================================================
RCS file: /cvs/src/sys/dev/x86emu/x86emu.c,v
retrieving revision 1.10
diff -u -p -r1.10 x86emu.c
--- sys/dev/x86emu/x86emu.c 25 Nov 2018 19:52:08 -0000 1.10
+++ sys/dev/x86emu/x86emu.c 1 Apr 2019 03:50:28 -0000
@@ -7009,7 +7009,7 @@ rol_byte(struct x86emu *emu, uint8_t d,
CONDITIONAL_SET_FLAG(s == 1 &&
XOR2((res & 0x1) + ((res >> 6) & 0x2)),
F_OF);
- } if (s != 0) {
+ } else if (s != 0) {
/* set the new carry flag, Note that it is the low order bit
* of the result!!! */
CONDITIONAL_SET_FLAG(res & 0x1, F_CF);
@@ -7035,7 +7035,7 @@ rol_word(struct x86emu *emu, uint16_t d,
CONDITIONAL_SET_FLAG(s == 1 &&
XOR2((res & 0x1) + ((res >> 14) & 0x2)),
F_OF);
- } if (s != 0) {
+ } else if (s != 0) {
/* set the new carry flag, Note that it is the low order bit
* of the result!!! */
CONDITIONAL_SET_FLAG(res & 0x1, F_CF);
@@ -7061,7 +7061,7 @@ rol_long(struct x86emu *emu, uint32_t d,
CONDITIONAL_SET_FLAG(s == 1 &&
XOR2((res & 0x1) + ((res >> 30) & 0x2)),
F_OF);
- } if (s != 0) {
+ } else if (s != 0) {
/* set the new carry flag, Note that it is the low order bit
* of the result!!! */
CONDITIONAL_SET_FLAG(res & 0x1, F_CF);
--
Christian "naddy" Weisgerber [email protected]