Loading scripts/decodetree.py +26 −11 Original line number Diff line number Diff line Loading @@ -371,28 +371,43 @@ class Pattern(General): # end Pattern class IncMultiPattern(General): """Class representing an overlapping set of instruction patterns""" class MultiPattern(General): """Class representing a set of instruction patterns""" def __init__(self, lineno, pats, fixb, fixm, udfm, w): def __init__(self, lineno, pats): self.file = input_file self.lineno = lineno self.pats = pats self.base = None self.fixedbits = fixb self.fixedmask = fixm self.undefmask = udfm self.width = w self.fixedbits = 0 self.fixedmask = 0 self.undefmask = 0 self.width = None def __str__(self): r = "{" for p in self.pats: r = r + ' ' + str(p) return r + "}" r = 'group' if self.fixedbits is not None: r += ' ' + str_match_bits(self.fixedbits, self.fixedmask) return r def output_decl(self): for p in self.pats: p.output_decl() # end MultiPattern class IncMultiPattern(MultiPattern): """Class representing an overlapping set of instruction patterns""" def __init__(self, lineno, pats, fixb, fixm, udfm, w): self.file = input_file self.lineno = lineno self.pats = pats self.base = None self.fixedbits = fixb self.fixedmask = fixm self.undefmask = udfm self.width = w def output_code(self, i, extracted, outerbits, outermask): global translate_prefix Loading Loading
scripts/decodetree.py +26 −11 Original line number Diff line number Diff line Loading @@ -371,28 +371,43 @@ class Pattern(General): # end Pattern class IncMultiPattern(General): """Class representing an overlapping set of instruction patterns""" class MultiPattern(General): """Class representing a set of instruction patterns""" def __init__(self, lineno, pats, fixb, fixm, udfm, w): def __init__(self, lineno, pats): self.file = input_file self.lineno = lineno self.pats = pats self.base = None self.fixedbits = fixb self.fixedmask = fixm self.undefmask = udfm self.width = w self.fixedbits = 0 self.fixedmask = 0 self.undefmask = 0 self.width = None def __str__(self): r = "{" for p in self.pats: r = r + ' ' + str(p) return r + "}" r = 'group' if self.fixedbits is not None: r += ' ' + str_match_bits(self.fixedbits, self.fixedmask) return r def output_decl(self): for p in self.pats: p.output_decl() # end MultiPattern class IncMultiPattern(MultiPattern): """Class representing an overlapping set of instruction patterns""" def __init__(self, lineno, pats, fixb, fixm, udfm, w): self.file = input_file self.lineno = lineno self.pats = pats self.base = None self.fixedbits = fixb self.fixedmask = fixm self.undefmask = udfm self.width = w def output_code(self, i, extracted, outerbits, outermask): global translate_prefix Loading