From: Gabe Black Date: Thu, 30 Aug 2007 03:39:41 +0000 (-0700) Subject: X86: Fix the sra microop to get the sign bit from the right operand. X-Git-Tag: m5_2.0_beta4~143 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f67cd046731f07cc76ec63d0614be81d2e212ac4;p=gem5.git X86: Fix the sra microop to get the sign bit from the right operand. --HG-- extra : convert_revision : 71e58dd6dd6918ee403f2e332c47e29acdace464 --- diff --git a/src/arch/x86/isa/microops/regop.isa b/src/arch/x86/isa/microops/regop.isa index cacdc7144..eca640d35 100644 --- a/src/arch/x86/isa/microops/regop.isa +++ b/src/arch/x86/isa/microops/regop.isa @@ -590,7 +590,7 @@ let {{ // is not defined in the C/C++ standard, we have to sign extend // them manually to be sure. uint64_t arithMask = - -bits(op2, dataSize * 8 - 1) << (dataSize * 8 - shiftAmt); + -bits(psrc1, dataSize * 8 - 1) << (dataSize * 8 - shiftAmt); DestReg = merge(DestReg, (psrc1 >> shiftAmt) | arithMask, dataSize); ''') defineMicroRegOp('Ror', '''