summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-07-30 15:39:25 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-07-30 15:39:25 -0700
commit74fcf117ddcfe58c3b99f5f2a1209a1f7d306b07 (patch)
treed2560eb3f491314755548d9ae171b12b7a121517 /src
parent65db30992c2462624b69fb1b1e737e0e84f9457d (diff)
downloadgem5-74fcf117ddcfe58c3b99f5f2a1209a1f7d306b07.tar.xz
X86: Allow RIP relative decode on -all- memory forms of operands.
--HG-- extra : convert_revision : 8af62cda2ce1c4acfa26a028a4f7506647bc27f7
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86/isa/specialize.isa2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/x86/isa/specialize.isa b/src/arch/x86/isa/specialize.isa
index a45c6e80f..b5f51ab58 100644
--- a/src/arch/x86/isa/specialize.isa
+++ b/src/arch/x86/isa/specialize.isa
@@ -149,8 +149,8 @@ let {{
elif opType.tag == "M":
# This refers to memory. The macroop constructor sets up modrm
# addressing. Non memory modrm settings should cause an error.
- Name += "_M"
env.doModRM = True
+ return doRipRelativeDecode(Name, opTypes, env)
elif opType.tag == None or opType.size == None:
raise Exception, "Problem parsing operand tag: %s" % opType.tag
elif opType.tag in ("C", "D", "G", "P", "S", "T", "V"):