changeset 0d6addcde185 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=0d6addcde185
description:
X86: Set the delayed commit flag in x86 microops appropriately.
diffstat:
1 file changed, 1 insertion(+)
src/arch/x86/isa/macroop.isa | 1 +
diffs (49 lines):
diff -r 28d6ff8b94e2 -r 0d6addcde185 src/arch/x86/isa/macroop.isa
--- a/src/arch/x86/isa/macroop.isa Sun Oct 12 23:28:49 2008 -0700
+++ b/src/arch/x86/isa/macroop.isa Sun Oct 12 23:29:10 2008 -0700
@@ -220,11 +220,11 @@
allocMicroops = ''
micropc = 0
for op in self.microops:
+ isLast = (micropc == numMicroops - 1)
allocMicroops += \
"microops[%d] = %s;\n" % \
- (micropc, op.getAllocator(True, False,
- micropc == 0,
- micropc == numMicroops - 1))
+ (micropc, op.getAllocator(True, not isLast,
+ micropc == 0, isLast))
micropc += 1
iop = InstObjParams(self.name, self.name, "Macroop",
{"code" : "", "num_microops" : numMicroops,
diff -r 28d6ff8b94e2 -r 0d6addcde185 src/arch/x86/isa/microops/base.isa
--- a/src/arch/x86/isa/microops/base.isa Sun Oct 12 23:28:49 2008 -0700
+++ b/src/arch/x86/isa/microops/base.isa Sun Oct 12 23:29:10 2008 -0700
@@ -118,7 +118,7 @@
def getGeneratorDef(self, micropc):
return self.generatorTemplate % \
(self.className, micropc, \
- self.getAllocator(True, False, False, False))
+ self.getAllocator(True, True, False, False))
def getGenerator(self, micropc):
return self.generatorNameTemplate % (self.className, micropc)
diff -r 28d6ff8b94e2 -r 0d6addcde185 src/arch/x86/isa/microops/seqop.isa
--- a/src/arch/x86/isa/microops/seqop.isa Sun Oct 12 23:28:49 2008 -0700
+++ b/src/arch/x86/isa/microops/seqop.isa Sun Oct 12 23:29:10 2008 -0700
@@ -195,6 +195,7 @@
def getAllocator(self, *microFlags):
(is_micro, is_delayed, is_first, is_last) = microFlags
is_last = False
+ is_delayed = True
microFlags = (is_micro, is_delayed, is_first, is_last)
return super(Br, self).getAllocator(*microFlags)
@@ -214,6 +215,7 @@
def getAllocator(self, *microFlags):
(is_micro, is_delayed, is_first, is_last) = microFlags
is_last = True
+ is_delayed = False
microFlags = (is_micro, is_delayed, is_first, is_last)
return super(Eret, self).getAllocator(*microFlags)
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev