diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-02-01 00:08:16 -0800 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-02-01 00:08:16 -0800 |
commit | 483c3e96b7e30d3bd788f32c5b421133e71ec476 (patch) | |
tree | aca3537ea9aa680f43124b6dfefbd705aa983845 /src/arch/x86/insts | |
parent | 77209689499f2c843bebd9fca300fdd421277b15 (diff) | |
download | gem5-483c3e96b7e30d3bd788f32c5b421133e71ec476.tar.xz |
X86: Calculate flags based on the actual result.
Diffstat (limited to 'src/arch/x86/insts')
-rw-r--r-- | src/arch/x86/insts/microregop.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/arch/x86/insts/microregop.cc b/src/arch/x86/insts/microregop.cc index 080926627..2ea975746 100644 --- a/src/arch/x86/insts/microregop.cc +++ b/src/arch/x86/insts/microregop.cc @@ -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)) { |