summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-08-07 15:26:50 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-08-07 15:26:50 -0700
commitcd3f0646caf7fbf637ee10148c5e3bd5a034d4e9 (patch)
treec2ff8093721bc67a8937c3e252cb97f18eef1f2d /src
parent24541780c6bb4cf7f58ef7efc184da18026b587f (diff)
downloadgem5-cd3f0646caf7fbf637ee10148c5e3bd5a034d4e9.tar.xz
X86: Added some missing parenthesis in the condition code calculation function.
--HG-- extra : convert_revision : 663021070a4bcc795bb44e1839b8bcec686a42f0
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86/insts/microregop.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/arch/x86/insts/microregop.cc b/src/arch/x86/insts/microregop.cc
index 42c540b7a..b6a30d6a7 100644
--- a/src/arch/x86/insts/microregop.cc
+++ b/src/arch/x86/insts/microregop.cc
@@ -69,19 +69,23 @@ namespace X86ISA
DPRINTF(Sparc, "flagMask = %#x\n", flagMask);
uint64_t flags = oldFlags & ~flagMask;
if(flagMask & CFBit)
+ {
if(findCarry(dataSize*8, _dest, _src1, _src2))
flags |= CFBit;
if(subtract)
flags ^= CFBit;
+ }
if(flagMask & PFBit && findParity(dataSize*8, _dest))
flags |= PFBit;
if(flagMask & ECFBit && findCarry(dataSize*8, _dest, _src1, _src2))
flags |= ECFBit;
if(flagMask & AFBit)
+ {
if(findCarry(4, _dest, _src1, _src2))
flags |= AFBit;
if(subtract)
flags ^= AFBit;
+ }
if(flagMask & EZFBit && findZero(dataSize*8, _dest))
flags |= EZFBit;
if(flagMask & ZFBit && findZero(dataSize*8, _dest))