X86: Calculate flags based on the actual result.
authorGabe Black <gblack@eecs.umich.edu>
Sun, 1 Feb 2009 08:08:16 +0000 (00:08 -0800)
committerGabe Black <gblack@eecs.umich.edu>
Sun, 1 Feb 2009 08:08:16 +0000 (00:08 -0800)
src/arch/x86/insts/microregop.cc

index 080926627bd60dbd5b29cf8d7a46a05fea2dad0c..2ea975746bf63d35f4339662e2a10ebd3049446c 100644 (file)
@@ -67,6 +67,9 @@ namespace X86ISA
             bool subtract) const
     {
         DPRINTF(X86, "flagMask = %#x\n", flagMask);
+        if (_destRegIdx[0] & (1 << 6)) {
+            _dest >>= 8;
+        }
         uint64_t flags = oldFlags & ~flagMask;
         if(flagMask & (ECFBit | CFBit))
         {