Message ID | 20231210220712.491494-6-ltaylorsimpson@gmail.com |
---|---|
State | New |
Headers | show |
Series | Hexagon (target/hexagon) Make generators object oriented | expand |
> -----Original Message----- > From: Taylor Simpson <ltaylorsimpson@gmail.com> > Sent: Sunday, December 10, 2023 4:07 PM > To: qemu-devel@nongnu.org > Cc: Brian Cain <bcain@quicinc.com>; Matheus Bernardino (QUIC) > <quic_mathbern@quicinc.com>; Sid Manning <sidneym@quicinc.com>; Marco > Liebel (QUIC) <quic_mliebel@quicinc.com>; richard.henderson@linaro.org; > philmd@linaro.org; ale@rev.ng; anjo@rev.ng; ltaylorsimpson@gmail.com > Subject: [PATCH v2 5/9] Hexagon (target/hexagon) Make generators object > oriented - gen_idef_parser_funcs > > WARNING: This email originated from outside of Qualcomm. Please be wary of > any links or attachments, and do not enable macros. > > Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com> > --- > target/hexagon/gen_idef_parser_funcs.py | 20 ++++---------------- > 1 file changed, 4 insertions(+), 16 deletions(-) > > diff --git a/target/hexagon/gen_idef_parser_funcs.py > b/target/hexagon/gen_idef_parser_funcs.py > index f4518e653f..550a48cb7b 100644 > --- a/target/hexagon/gen_idef_parser_funcs.py > +++ b/target/hexagon/gen_idef_parser_funcs.py > @@ -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() > > @@ -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)) > -- > 2.34.1 Reviewed-by: Brian Cain <bcain@quicinc.com>
diff --git a/target/hexagon/gen_idef_parser_funcs.py b/target/hexagon/gen_idef_parser_funcs.py index f4518e653f..550a48cb7b 100644 --- a/target/hexagon/gen_idef_parser_funcs.py +++ b/target/hexagon/gen_idef_parser_funcs.py @@ -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() @@ -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))
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com> --- target/hexagon/gen_idef_parser_funcs.py | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-)