summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-08-05 03:00:43 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-08-05 03:00:43 -0700
commitbab4597fc555dfe25b5d22c8634361e01bb2e981 (patch)
treead4e16e9215d8b4a1a7ce695eb90ed881b6029de /src/arch
parent4e4adcaaa82b8a308bb0752b47ec509fb382e975 (diff)
downloadgem5-bab4597fc555dfe25b5d22c8634361e01bb2e981.tar.xz
X86: Fix the computation of the upper part of rotate right with carry.
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x86/isa/microops/regop.isa2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/x86/isa/microops/regop.isa b/src/arch/x86/isa/microops/regop.isa
index 2514be91a..1aa7c510b 100644
--- a/src/arch/x86/isa/microops/regop.isa
+++ b/src/arch/x86/isa/microops/regop.isa
@@ -767,7 +767,7 @@ let {{
CCFlagBits flags = ccFlagBits;
uint64_t top = flags.cf << (dataSize * 8 - shiftAmt);
if(shiftAmt > 1)
- top |= psrc1 << (dataSize * 8 - shiftAmt - 1);
+ top |= psrc1 << (dataSize * 8 - shiftAmt + 1);
uint64_t bottom = bits(psrc1, dataSize * 8, shiftAmt);
DestReg = merge(DestReg, top | bottom, dataSize);
}