decodetree: Split out MultiPattern from IncMultiPattern
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
040145c4f8
commit
df63044d02
@ -371,7 +371,32 @@ class Pattern(General):
|
|||||||
# end Pattern
|
# end Pattern
|
||||||
|
|
||||||
|
|
||||||
class IncMultiPattern(General):
|
class MultiPattern(General):
|
||||||
|
"""Class representing a set of instruction patterns"""
|
||||||
|
|
||||||
|
def __init__(self, lineno, pats):
|
||||||
|
self.file = input_file
|
||||||
|
self.lineno = lineno
|
||||||
|
self.pats = pats
|
||||||
|
self.base = None
|
||||||
|
self.fixedbits = 0
|
||||||
|
self.fixedmask = 0
|
||||||
|
self.undefmask = 0
|
||||||
|
self.width = None
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
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"""
|
"""Class representing an overlapping set of instruction patterns"""
|
||||||
|
|
||||||
def __init__(self, lineno, pats, fixb, fixm, udfm, w):
|
def __init__(self, lineno, pats, fixb, fixm, udfm, w):
|
||||||
@ -384,16 +409,6 @@ class IncMultiPattern(General):
|
|||||||
self.undefmask = udfm
|
self.undefmask = udfm
|
||||||
self.width = w
|
self.width = w
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
r = "{"
|
|
||||||
for p in self.pats:
|
|
||||||
r = r + ' ' + str(p)
|
|
||||||
return r + "}"
|
|
||||||
|
|
||||||
def output_decl(self):
|
|
||||||
for p in self.pats:
|
|
||||||
p.output_decl()
|
|
||||||
|
|
||||||
def output_code(self, i, extracted, outerbits, outermask):
|
def output_code(self, i, extracted, outerbits, outermask):
|
||||||
global translate_prefix
|
global translate_prefix
|
||||||
ind = str_indent(i)
|
ind = str_indent(i)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user