Skip to content

Commit

Permalink
Hexagon (target/hexagon) Make generators object oriented - gen_idef_p…
Browse files Browse the repository at this point in the history
…arser_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>
  • Loading branch information
taylorsimpson authored and androm3da committed Jan 22, 2024
1 parent a3295f5 commit 1f03e9a
Showing 1 changed file with 4 additions and 16 deletions.
20 changes: 4 additions & 16 deletions target/hexagon/gen_idef_parser_funcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ def main():
hex_common.read_semantics_file(sys.argv[1])
hex_common.read_attribs_file(sys.argv[2])
hex_common.calculate_attribs()
hex_common.init_registers()
tagregs = hex_common.get_tagregs()
tagimms = hex_common.get_tagimms()

Expand Down Expand Up @@ -132,22 +133,9 @@ def main():

arguments = []
for regtype, regid in regs:
prefix = "in " if hex_common.is_read(regid) else ""

is_pair = hex_common.is_pair(regid)
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)
reg = hex_common.get_register(tag, regtype, regid)
prefix = "in " if reg.is_read() else ""
arguments.append(f"{prefix}{reg.reg_tcg()}")

for immlett, bits, immshift in imms:
arguments.append(hex_common.imm_name(immlett))
Expand Down

0 comments on commit 1f03e9a

Please sign in to comment.