diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-08-04 20:17:31 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-08-04 20:17:31 -0700 |
commit | fc6b2cceb4c16b8b33390b779d1ed64c84b1e954 (patch) | |
tree | 7bcb47b10269dd14a04c70428d9d4d7fd81ec163 /src/arch/x86 | |
parent | 6f3bb03a3fff61de8c8dc53b01d9b48186021d21 (diff) | |
download | gem5-fc6b2cceb4c16b8b33390b779d1ed64c84b1e954.tar.xz |
X86: Make fixed register operands ignore register index extensions from the REX prefix.
The only cases where this was the correct behavior are now handled with the
"B" operand type, and doing things this way was breaking some instructions,
notably a shift.
--HG--
extra : convert_revision : 072346d4f541edaceba7aecc26ba8d2cd756e481
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/isa/specialize.isa | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/x86/isa/specialize.isa b/src/arch/x86/isa/specialize.isa index b5f51ab58..690061de7 100644 --- a/src/arch/x86/isa/specialize.isa +++ b/src/arch/x86/isa/specialize.isa @@ -138,9 +138,9 @@ let {{ #Figure out what to do with fixed register operands #This is the index to use, so we should stick it some place. if opType.reg in ("A", "B", "C", "D"): - env.addReg("INTREG_R%sX | (REX_B << 3)" % opType.reg) + env.addReg("INTREG_R%sX" % opType.reg) else: - env.addReg("INTREG_R%s | (REX_B << 3)" % opType.reg) + env.addReg("INTREG_R%s" % opType.reg) Name += "_R" elif opType.tag == "B": # This refers to registers whose index is encoded as part of the opcode |