X86: Fix carry calculation for subtraction based microops.

The carry flag should be calculated using the -complement- of the second operand, not it's negation. The carry in which is part of computing the 2's complement may induce a carry, but if you've already caused the carry before you get the carry computing logic involved, it will miss it.

--HG--
extra : convert_revision : 318cf86929664fc52ed9e023606a9e892eba635c
This commit is contained in:
Gabe Black
2007-07-26 22:06:30 -07:00
parent 749ed15b60
commit 57428b8b0b

View File

@@ -343,7 +343,7 @@ let {{
immCode = matcher.sub("imm8", code)
if subtract:
secondSrc = "-op2, true"
secondSrc = "~op2, true"
else:
secondSrc = "op2"