From c8b1a4583e7062d0bf20a5d1c91f799c3bd79270 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 5 Aug 2009 03:01:07 -0700 Subject: [PATCH] X86: Fix the computation of the bottom 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 1aa7c510b..e3ad164eb 100644 --- a/src/arch/x86/isa/microops/regop.isa +++ b/src/arch/x86/isa/microops/regop.isa @@ -768,7 +768,7 @@ let {{ uint64_t top = flags.cf << (dataSize * 8 - shiftAmt); if(shiftAmt > 1) top |= psrc1 << (dataSize * 8 - shiftAmt + 1); - uint64_t bottom = bits(psrc1, dataSize * 8, shiftAmt); + uint64_t bottom = bits(psrc1, dataSize * 8 - 1, shiftAmt); DestReg = merge(DestReg, top | bottom, dataSize); } else