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,
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)
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)
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)