From bab4597fc555dfe25b5d22c8634361e01bb2e981 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 5 Aug 2009 03:00:43 -0700 Subject: [PATCH] X86: Fix the computation of the upper part of rotate right with carry. --- src/arch/x86/isa/microops/regop.isa | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); } -- 2.30.2