mirror of https://github.com/xemu-project/xemu.git
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
|
||||
|
||||
|
||||
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"""
|
||||
|
||||
def __init__(self, lineno, pats, fixb, fixm, udfm, w):
|
||||
|
@ -384,16 +409,6 @@ class IncMultiPattern(General):
|
|||
self.undefmask = udfm
|
||||
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):
|
||||
global translate_prefix
|
||||
ind = str_indent(i)
|
||||
|
|
Loading…
Reference in New Issue