diff --git a/src/arch/isa_parser/isa_parser.py b/src/arch/isa_parser/isa_parser.py index ff54889fe7..9ca813e50b 100755 --- a/src/arch/isa_parser/isa_parser.py +++ b/src/arch/isa_parser/isa_parser.py @@ -107,7 +107,8 @@ class Template(object): myDict['reg_idx_arr_decl'] = \ 'RegId srcRegIdxArr[%d]; RegId destRegIdxArr[%d]' % \ - (d.operands.numSrcRegs, d.operands.numDestRegs) + (d.operands.numSrcRegs + d.srcRegIdxPadding, + d.operands.numDestRegs + d.destRegIdxPadding) # The reinterpret casts are largely because an array with a known # size cannot be passed as an argument which is an array with an @@ -391,6 +392,9 @@ class InstObjParams(object): self.operands = OperandList(parser, compositeCode) + self.srcRegIdxPadding = 0 + self.destRegIdxPadding = 0 + # The header of the constructor declares the variables to be used # in the body of the constructor. header = '' @@ -464,6 +468,12 @@ class InstObjParams(object): else: self.fp_enable_check = '' + def padSrcRegIdx(self, padding): + self.srcRegIdxPadding = padding + + def padDestRegIdx(self, padding): + self.destRegIdxPadding = padding + ####################### #