summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-02-01 00:28:28 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-02-01 00:28:28 -0800
commitca6e0d75c8343e707f5632e12af8e797160d3e6c (patch)
treec223165bc196be99f575e8662d5d788ede134965
parenta5ed1590bda7308ec2bff7b7dcb85bad246f52fc (diff)
downloadgem5-ca6e0d75c8343e707f5632e12af8e797160d3e6c.tar.xz
X86: Fix the microcode for the LODS instruction.
-rw-r--r--src/arch/x86/isa/insts/general_purpose/string/load_string.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/arch/x86/isa/insts/general_purpose/string/load_string.py b/src/arch/x86/isa/insts/general_purpose/string/load_string.py
index 8d144dc4d..14198701a 100644
--- a/src/arch/x86/isa/insts/general_purpose/string/load_string.py
+++ b/src/arch/x86/isa/insts/general_purpose/string/load_string.py
@@ -61,9 +61,9 @@ def macroop LODS_M {
subi t4, t0, dsz, dataSize=asz
mov t3, t3, t4, flags=(nCEZF,), dataSize=asz
- ld rax, seg, [1, t0, rdi]
+ ld rax, seg, [1, t0, rsi]
- add rdi, rdi, t3, dataSize=asz
+ add rsi, rsi, t3, dataSize=asz
};
def macroop LODS_E_M {
@@ -76,10 +76,10 @@ def macroop LODS_E_M {
mov t3, t3, t4, flags=(nCEZF,), dataSize=asz
topOfLoop:
- ld rax, seg, [1, t0, rdi]
+ ld rax, seg, [1, t0, rsi]
subi rcx, rcx, 1, flags=(EZF,), dataSize=asz
- add rdi, rdi, t3, dataSize=asz
+ add rsi, rsi, t3, dataSize=asz
br label("topOfLoop"), flags=(nCEZF,)
end:
fault "NoFault"