projects
/
gem5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
88041f7
)
X86: Handle rotating right all the way around or more.
author
Gabe Black
<gblack@eecs.umich.edu>
Wed, 5 Aug 2009 10:00:03 +0000
(
03:00
-0700)
committer
Gabe Black
<gblack@eecs.umich.edu>
Wed, 5 Aug 2009 10:00:03 +0000
(
03:00
-0700)
src/arch/x86/isa/microops/regop.isa
patch
|
blob
|
history
diff --git
a/src/arch/x86/isa/microops/regop.isa
b/src/arch/x86/isa/microops/regop.isa
index 85fe8fe5170107db527a8e4195e741ed947803c4..2514be91a0a189dfa7cab3b3628548440e6d8d8c 100644
(file)
--- a/
src/arch/x86/isa/microops/regop.isa
+++ b/
src/arch/x86/isa/microops/regop.isa
@@
-727,10
+727,11
@@
let {{
code = '''
uint8_t shiftAmt =
(op2 & ((dataSize == 8) ? mask(6) : mask(5)));
- if(shiftAmt)
+ uint8_t realShiftAmt = shiftAmt % (dataSize * 8);
+ if(realShiftAmt)
{
- uint64_t top = psrc1 << (dataSize * 8 -
s
hiftAmt);
- uint64_t bottom = bits(psrc1, dataSize * 8,
s
hiftAmt);
+ uint64_t top = psrc1 << (dataSize * 8 -
realS
hiftAmt);
+ uint64_t bottom = bits(psrc1, dataSize * 8,
realS
hiftAmt);
DestReg = merge(DestReg, top | bottom, dataSize);
}
else