Hexagon (target/hexagon) Make generators object oriented - gen_idef_parser_funcs
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com> Reviewed-by: Brian Cain <bcain@quicinc.com> Message-Id: <20231210220712.491494-6-ltaylorsimpson@gmail.com> Signed-off-by: Brian Cain <bcain@quicinc.com>
This commit is contained in:
parent
a3295f5436
commit
1f03e9a94e
@ -46,6 +46,7 @@ def main():
|
|||||||
hex_common.read_semantics_file(sys.argv[1])
|
hex_common.read_semantics_file(sys.argv[1])
|
||||||
hex_common.read_attribs_file(sys.argv[2])
|
hex_common.read_attribs_file(sys.argv[2])
|
||||||
hex_common.calculate_attribs()
|
hex_common.calculate_attribs()
|
||||||
|
hex_common.init_registers()
|
||||||
tagregs = hex_common.get_tagregs()
|
tagregs = hex_common.get_tagregs()
|
||||||
tagimms = hex_common.get_tagimms()
|
tagimms = hex_common.get_tagimms()
|
||||||
|
|
||||||
@ -132,22 +133,9 @@ def main():
|
|||||||
|
|
||||||
arguments = []
|
arguments = []
|
||||||
for regtype, regid in regs:
|
for regtype, regid in regs:
|
||||||
prefix = "in " if hex_common.is_read(regid) else ""
|
reg = hex_common.get_register(tag, regtype, regid)
|
||||||
|
prefix = "in " if reg.is_read() else ""
|
||||||
is_pair = hex_common.is_pair(regid)
|
arguments.append(f"{prefix}{reg.reg_tcg()}")
|
||||||
is_single_old = hex_common.is_single(regid) and hex_common.is_old_val(
|
|
||||||
regtype, regid, tag
|
|
||||||
)
|
|
||||||
is_single_new = hex_common.is_single(regid) and hex_common.is_new_val(
|
|
||||||
regtype, regid, tag
|
|
||||||
)
|
|
||||||
|
|
||||||
if is_pair or is_single_old:
|
|
||||||
arguments.append(f"{prefix}{regtype}{regid}V")
|
|
||||||
elif is_single_new:
|
|
||||||
arguments.append(f"{prefix}{regtype}{regid}N")
|
|
||||||
else:
|
|
||||||
hex_common.bad_register(regtype, regid)
|
|
||||||
|
|
||||||
for immlett, bits, immshift in imms:
|
for immlett, bits, immshift in imms:
|
||||||
arguments.append(hex_common.imm_name(immlett))
|
arguments.append(hex_common.imm_name(immlett))
|
||||||
|
Loading…
Reference in New Issue
Block a user