diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-08-29 20:39:41 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-08-29 20:39:41 -0700 |
commit | f67cd046731f07cc76ec63d0614be81d2e212ac4 (patch) | |
tree | dea007345262df9f490150664d411334e6c7b2b5 /src | |
parent | c1a776de8a89c624d3e047bf40863e05180a7958 (diff) | |
download | gem5-f67cd046731f07cc76ec63d0614be81d2e212ac4.tar.xz |
X86: Fix the sra microop to get the sign bit from the right operand.
--HG--
extra : convert_revision : 71e58dd6dd6918ee403f2e332c47e29acdace464
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/x86/isa/microops/regop.isa | 2 |
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 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', ''' |