summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/formats
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-06-12 16:25:47 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-06-12 16:25:47 +0000
commit7a52faa39bf1bc9a961c98a382afa520eb2d0c87 (patch)
treeb35f7f74082fb1e3471bb82738e1a398743af9d5 /src/arch/x86/isa/formats
parentd0c5da2cd4227f6dfd12546a0ffcc9e50ffe77cb (diff)
downloadgem5-7a52faa39bf1bc9a961c98a382afa520eb2d0c87.tar.xz
Use objects to pass around output code, and fix/implement a few things.
src/arch/x86/isa/formats/multi.isa: Make the formats use objects to pass around output code. --HG-- extra : convert_revision : 428915bda22e848befac15097f56375c1818426e
Diffstat (limited to 'src/arch/x86/isa/formats')
-rw-r--r--src/arch/x86/isa/formats/multi.isa8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/arch/x86/isa/formats/multi.isa b/src/arch/x86/isa/formats/multi.isa
index 8648800b4..f951dc28a 100644
--- a/src/arch/x86/isa/formats/multi.isa
+++ b/src/arch/x86/isa/formats/multi.isa
@@ -62,12 +62,16 @@
//////////////////////////////////////////////////////////////////////////
def format Inst(*opTypeSet) {{
- decode_block = specializeInst(Name, list(opTypeSet), EmulEnv())
+ blocks = specializeInst(Name, list(opTypeSet), EmulEnv())
+ (header_output, decoder_output,
+ decode_block, exec_output) = blocks.makeList()
}};
def format MultiInst(switchVal, *opTypeSets) {{
switcher = {}
for (count, opTypeSet) in zip(xrange(len(opTypeSets)), opTypeSets):
switcher[count] = (opTypeSet, EmulEnv())
- decode_block = doSplitDecode(Name, specializeInst, switchVal, switcher)
+ blocks = doSplitDecode(Name, specializeInst, switchVal, switcher)
+ (header_output, decoder_output,
+ decode_block, exec_output) = blocks.makeList()
}};