qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py
@ 2025-04-15 23:55 Taylor Simpson
  2025-04-16  6:18 ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 6+ messages in thread
From: Taylor Simpson @ 2025-04-15 23:55 UTC (permalink / raw)
  To: qemu-devel
  Cc: brian.cain, quic_mathbern, sidneym, quic_mliebel,
	richard.henderson, philmd, ale, anjo, ltaylorsimpson

This can easily be done in C with opcodes_def_generated.h.inc

Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
---
 target/hexagon/genptr.c              |  6 ++-
 target/hexagon/README                |  1 -
 target/hexagon/gen_tcg_func_table.py | 66 ----------------------------
 target/hexagon/meson.build           | 10 -----
 4 files changed, 5 insertions(+), 78 deletions(-)
 delete mode 100755 target/hexagon/gen_tcg_func_table.py

diff --git a/target/hexagon/genptr.c b/target/hexagon/genptr.c
index 2c5e15cfcf..330170ab44 100644
--- a/target/hexagon/genptr.c
+++ b/target/hexagon/genptr.c
@@ -1453,4 +1453,8 @@ void gen_add_sat_i64(DisasContext *ctx, TCGv_i64 ret, TCGv_i64 a, TCGv_i64 b)
 }
 
 #include "tcg_funcs_generated.c.inc"
-#include "tcg_func_table_generated.c.inc"
+const SemanticInsn opcode_genptr[XX_LAST_OPCODE] = {
+#define OPCODE(X)    [X] = generate_##X
+#include "opcodes_def_generated.h.inc"
+#undef OPCODE
+};
diff --git a/target/hexagon/README b/target/hexagon/README
index ca617e3364..5af298e3ed 100644
--- a/target/hexagon/README
+++ b/target/hexagon/README
@@ -47,7 +47,6 @@ header files in <BUILD_DIR>/target/hexagon
         gen_op_attribs.py               -> op_attribs_generated.h.inc
         gen_helper_protos.py            -> helper_protos_generated.h.inc
         gen_tcg_funcs.py                -> tcg_funcs_generated.c.inc
-        gen_tcg_func_table.py           -> tcg_func_table_generated.c.inc
         gen_helper_funcs.py             -> helper_funcs_generated.c.inc
         gen_idef_parser_funcs.py        -> idef_parser_input.h
         gen_analyze_funcs.py            -> analyze_funcs_generated.c.inc
diff --git a/target/hexagon/gen_tcg_func_table.py b/target/hexagon/gen_tcg_func_table.py
deleted file mode 100755
index 299a39b1aa..0000000000
--- a/target/hexagon/gen_tcg_func_table.py
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env python3
-
-##
-##  Copyright(c) 2019-2024 Qualcomm Innovation Center, Inc. All Rights Reserved.
-##
-##  This program is free software; you can redistribute it and/or modify
-##  it under the terms of the GNU General Public License as published by
-##  the Free Software Foundation; either version 2 of the License, or
-##  (at your option) any later version.
-##
-##  This program is distributed in the hope that it will be useful,
-##  but WITHOUT ANY WARRANTY; without even the implied warranty of
-##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-##  GNU General Public License for more details.
-##
-##  You should have received a copy of the GNU General Public License
-##  along with this program; if not, see <http://www.gnu.org/licenses/>.
-##
-
-import sys
-import re
-import string
-import hex_common
-import argparse
-
-
-def main():
-    parser = argparse.ArgumentParser(
-        "Emit opaque macro calls with instruction semantics"
-    )
-    parser.add_argument("semantics", help="semantics file")
-    parser.add_argument("out", help="output file")
-    args = parser.parse_args()
-    hex_common.read_semantics_file(args.semantics)
-    hex_common.calculate_attribs()
-    tagregs = hex_common.get_tagregs()
-    tagimms = hex_common.get_tagimms()
-
-    with open(args.out, "w") as f:
-        f.write("#ifndef HEXAGON_FUNC_TABLE_H\n")
-        f.write("#define HEXAGON_FUNC_TABLE_H\n\n")
-
-        f.write("const SemanticInsn opcode_genptr[XX_LAST_OPCODE] = {\n")
-        for tag in hex_common.tags:
-            ## Skip the priv instructions
-            if "A_PRIV" in hex_common.attribdict[tag]:
-                continue
-            ## Skip the guest instructions
-            if "A_GUEST" in hex_common.attribdict[tag]:
-                continue
-            ## Skip the diag instructions
-            if tag == "Y6_diag":
-                continue
-            if tag == "Y6_diag0":
-                continue
-            if tag == "Y6_diag1":
-                continue
-
-            f.write(f"    [{tag}] = generate_{tag},\n")
-        f.write("};\n\n")
-
-        f.write("#endif    /* HEXAGON_FUNC_TABLE_H */\n")
-
-
-if __name__ == "__main__":
-    main()
diff --git a/target/hexagon/meson.build b/target/hexagon/meson.build
index bb4ebaae81..b28aeddb85 100644
--- a/target/hexagon/meson.build
+++ b/target/hexagon/meson.build
@@ -41,20 +41,10 @@ hexagon_ss.add(semantics_generated)
 #
 # Step 2
 # We use Python scripts to generate the following files
-#     tcg_func_table_generated.c.inc
 #     printinsn_generated.h.inc
 #     op_attribs_generated.h.inc
 #     opcodes_def_generated.h.inc
 #
-tcg_func_table_generated = custom_target(
-    'tcg_func_table_generated.c.inc',
-    output: 'tcg_func_table_generated.c.inc',
-    depends: [semantics_generated],
-    depend_files: [hex_common_py],
-    command: [python, files('gen_tcg_func_table.py'), semantics_generated, '@OUTPUT@'],
-)
-hexagon_ss.add(tcg_func_table_generated)
-
 printinsn_generated = custom_target(
     'printinsn_generated.h.inc',
     output: 'printinsn_generated.h.inc',
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py
  2025-04-15 23:55 [PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py Taylor Simpson
@ 2025-04-16  6:18 ` Philippe Mathieu-Daudé
  2025-04-16 14:45   ` ltaylorsimpson
  0 siblings, 1 reply; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-04-16  6:18 UTC (permalink / raw)
  To: Taylor Simpson, qemu-devel
  Cc: brian.cain, quic_mathbern, sidneym, quic_mliebel,
	richard.henderson, ale, anjo

Hi Taylor,

On 16/4/25 01:55, Taylor Simpson wrote:
> This can easily be done in C with opcodes_def_generated.h.inc
> 
> Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
> ---
>   target/hexagon/genptr.c              |  6 ++-
>   target/hexagon/README                |  1 -
>   target/hexagon/gen_tcg_func_table.py | 66 ----------------------------
>   target/hexagon/meson.build           | 10 -----
>   4 files changed, 5 insertions(+), 78 deletions(-)
>   delete mode 100755 target/hexagon/gen_tcg_func_table.py
> 
> diff --git a/target/hexagon/genptr.c b/target/hexagon/genptr.c
> index 2c5e15cfcf..330170ab44 100644
> --- a/target/hexagon/genptr.c
> +++ b/target/hexagon/genptr.c
> @@ -1453,4 +1453,8 @@ void gen_add_sat_i64(DisasContext *ctx, TCGv_i64 ret, TCGv_i64 a, TCGv_i64 b)
>   }
>   
>   #include "tcg_funcs_generated.c.inc"
> -#include "tcg_func_table_generated.c.inc"
> +const SemanticInsn opcode_genptr[XX_LAST_OPCODE] = {
> +#define OPCODE(X)    [X] = generate_##X
> +#include "opcodes_def_generated.h.inc"
> +#undef OPCODE
> +};
> diff --git a/target/hexagon/README b/target/hexagon/README
> index ca617e3364..5af298e3ed 100644
> --- a/target/hexagon/README
> +++ b/target/hexagon/README
> @@ -47,7 +47,6 @@ header files in <BUILD_DIR>/target/hexagon
>           gen_op_attribs.py               -> op_attribs_generated.h.inc
>           gen_helper_protos.py            -> helper_protos_generated.h.inc
>           gen_tcg_funcs.py                -> tcg_funcs_generated.c.inc
> -        gen_tcg_func_table.py           -> tcg_func_table_generated.c.inc
>           gen_helper_funcs.py             -> helper_funcs_generated.c.inc
>           gen_idef_parser_funcs.py        -> idef_parser_input.h
>           gen_analyze_funcs.py            -> analyze_funcs_generated.c.inc
> diff --git a/target/hexagon/gen_tcg_func_table.py b/target/hexagon/gen_tcg_func_table.py
> deleted file mode 100755
> index 299a39b1aa..0000000000
> --- a/target/hexagon/gen_tcg_func_table.py
> +++ /dev/null
> @@ -1,66 +0,0 @@
> -#!/usr/bin/env python3
> -
> -##
> -##  Copyright(c) 2019-2024 Qualcomm Innovation Center, Inc. All Rights Reserved.
> -##
> -##  This program is free software; you can redistribute it and/or modify
> -##  it under the terms of the GNU General Public License as published by
> -##  the Free Software Foundation; either version 2 of the License, or
> -##  (at your option) any later version.
> -##
> -##  This program is distributed in the hope that it will be useful,
> -##  but WITHOUT ANY WARRANTY; without even the implied warranty of
> -##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> -##  GNU General Public License for more details.
> -##
> -##  You should have received a copy of the GNU General Public License
> -##  along with this program; if not, see <http://www.gnu.org/licenses/>.
> -##
> -
> -import sys
> -import re
> -import string
> -import hex_common
> -import argparse
> -
> -
> -def main():
> -    parser = argparse.ArgumentParser(
> -        "Emit opaque macro calls with instruction semantics"
> -    )
> -    parser.add_argument("semantics", help="semantics file")
> -    parser.add_argument("out", help="output file")
> -    args = parser.parse_args()
> -    hex_common.read_semantics_file(args.semantics)
> -    hex_common.calculate_attribs()
> -    tagregs = hex_common.get_tagregs()
> -    tagimms = hex_common.get_tagimms()
> -
> -    with open(args.out, "w") as f:
> -        f.write("#ifndef HEXAGON_FUNC_TABLE_H\n")
> -        f.write("#define HEXAGON_FUNC_TABLE_H\n\n")
> -
> -        f.write("const SemanticInsn opcode_genptr[XX_LAST_OPCODE] = {\n")
> -        for tag in hex_common.tags:
> -            ## Skip the priv instructions
> -            if "A_PRIV" in hex_common.attribdict[tag]:
> -                continue
> -            ## Skip the guest instructions
> -            if "A_GUEST" in hex_common.attribdict[tag]:
> -                continue
> -            ## Skip the diag instructions
> -            if tag == "Y6_diag":
> -                continue
> -            if tag == "Y6_diag0":
> -                continue
> -            if tag == "Y6_diag1":
> -                continue

What about all these skipped tags? IIUC gen_opcodes_def.py doesn't skip
them. If it isn't necessary to skip, please mention it in the commit
description for clarity.

Regards,

Phil.

> -
> -            f.write(f"    [{tag}] = generate_{tag},\n")
> -        f.write("};\n\n")
> -
> -        f.write("#endif    /* HEXAGON_FUNC_TABLE_H */\n")
> -
> -
> -if __name__ == "__main__":
> -    main()
> diff --git a/target/hexagon/meson.build b/target/hexagon/meson.build
> index bb4ebaae81..b28aeddb85 100644
> --- a/target/hexagon/meson.build
> +++ b/target/hexagon/meson.build
> @@ -41,20 +41,10 @@ hexagon_ss.add(semantics_generated)
>   #
>   # Step 2
>   # We use Python scripts to generate the following files
> -#     tcg_func_table_generated.c.inc
>   #     printinsn_generated.h.inc
>   #     op_attribs_generated.h.inc
>   #     opcodes_def_generated.h.inc
>   #
> -tcg_func_table_generated = custom_target(
> -    'tcg_func_table_generated.c.inc',
> -    output: 'tcg_func_table_generated.c.inc',
> -    depends: [semantics_generated],
> -    depend_files: [hex_common_py],
> -    command: [python, files('gen_tcg_func_table.py'), semantics_generated, '@OUTPUT@'],
> -)
> -hexagon_ss.add(tcg_func_table_generated)
> -
>   printinsn_generated = custom_target(
>       'printinsn_generated.h.inc',
>       output: 'printinsn_generated.h.inc',



^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py
  2025-04-16  6:18 ` Philippe Mathieu-Daudé
@ 2025-04-16 14:45   ` ltaylorsimpson
  2025-04-16 14:58     ` ltaylorsimpson
  2025-04-17 15:55     ` Brian Cain
  0 siblings, 2 replies; 6+ messages in thread
From: ltaylorsimpson @ 2025-04-16 14:45 UTC (permalink / raw)
  To: 'Philippe Mathieu-Daudé', qemu-devel
  Cc: brian.cain, quic_mathbern, sidneym, quic_mliebel,
	richard.henderson, ale, anjo



> -----Original Message-----
> From: Philippe Mathieu-Daudé <philmd@linaro.org>
> Sent: Wednesday, April 16, 2025 12:18 AM
> To: Taylor Simpson <ltaylorsimpson@gmail.com>; qemu-devel@nongnu.org
> Cc: brian.cain@oss.qualcomm.com; quic_mathbern@quicinc.com;
> sidneym@quicinc.com; quic_mliebel@quicinc.com;
> richard.henderson@linaro.org; ale@rev.ng; anjo@rev.ng
> Subject: Re: [PATCH] Hexagon (target/hexagon) Remove
> gen_tcg_func_table.py
> 
> Hi Taylor,
> 
> On 16/4/25 01:55, Taylor Simpson wrote:
> > This can easily be done in C with opcodes_def_generated.h.inc
> >
> > Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
> > ---
> >   target/hexagon/genptr.c              |  6 ++-
> >   target/hexagon/README                |  1 -
> >   target/hexagon/gen_tcg_func_table.py | 66 ----------------------------
> >   target/hexagon/meson.build           | 10 -----
> >   4 files changed, 5 insertions(+), 78 deletions(-)
> >   delete mode 100755 target/hexagon/gen_tcg_func_table.py
> >
> > diff --git a/target/hexagon/gen_tcg_func_table.py
> > b/target/hexagon/gen_tcg_func_table.py
> > deleted file mode 100755
> > index 299a39b1aa..0000000000
> > --- a/target/hexagon/gen_tcg_func_table.py
> > -        f.write("const SemanticInsn opcode_genptr[XX_LAST_OPCODE] =
> {\n")
> > -        for tag in hex_common.tags:
> > -            ## Skip the priv instructions
> > -            if "A_PRIV" in hex_common.attribdict[tag]:
> > -                continue
> > -            ## Skip the guest instructions
> > -            if "A_GUEST" in hex_common.attribdict[tag]:
> > -                continue
> > -            ## Skip the diag instructions
> > -            if tag == "Y6_diag":
> > -                continue
> > -            if tag == "Y6_diag0":
> > -                continue
> > -            if tag == "Y6_diag1":
> > -                continue
> 
> What about all these skipped tags? IIUC gen_opcodes_def.py doesn't skip
> them. If it isn't necessary to skip, please mention it in the commit description
> for clarity.
> 
> Regards,
> 
> Phil.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py
  2025-04-16 14:45   ` ltaylorsimpson
@ 2025-04-16 14:58     ` ltaylorsimpson
  2025-04-17  7:09       ` Philippe Mathieu-Daudé
  2025-04-17 15:55     ` Brian Cain
  1 sibling, 1 reply; 6+ messages in thread
From: ltaylorsimpson @ 2025-04-16 14:58 UTC (permalink / raw)
  To: 'Philippe Mathieu-Daudé', qemu-devel
  Cc: brian.cain, quic_mathbern, sidneym, quic_mliebel,
	richard.henderson, ale, anjo



> -----Original Message-----
> From: ltaylorsimpson@gmail.com <ltaylorsimpson@gmail.com>
> Sent: Wednesday, April 16, 2025 8:45 AM
> To: 'Philippe Mathieu-Daudé' <philmd@linaro.org>; qemu-
> devel@nongnu.org
> Cc: brian.cain@oss.qualcomm.com; quic_mathbern@quicinc.com;
> sidneym@quicinc.com; quic_mliebel@quicinc.com;
> richard.henderson@linaro.org; ale@rev.ng; anjo@rev.ng
> Subject: RE: [PATCH] Hexagon (target/hexagon) Remove
> gen_tcg_func_table.py
> 
> 
> 
> > -----Original Message-----
> > From: Philippe Mathieu-Daudé <philmd@linaro.org>
> > Sent: Wednesday, April 16, 2025 12:18 AM
> > To: Taylor Simpson <ltaylorsimpson@gmail.com>; qemu-
> devel@nongnu.org
> > Cc: brian.cain@oss.qualcomm.com; quic_mathbern@quicinc.com;
> > sidneym@quicinc.com; quic_mliebel@quicinc.com;
> > richard.henderson@linaro.org; ale@rev.ng; anjo@rev.ng
> > Subject: Re: [PATCH] Hexagon (target/hexagon) Remove
> > gen_tcg_func_table.py
> >
> > Hi Taylor,
> >
> > On 16/4/25 01:55, Taylor Simpson wrote:
> > > This can easily be done in C with opcodes_def_generated.h.inc
> > >
> > > Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
> > > ---
> > >   target/hexagon/genptr.c              |  6 ++-
> > >   target/hexagon/README                |  1 -
> > >   target/hexagon/gen_tcg_func_table.py | 66 ----------------------------
> > >   target/hexagon/meson.build           | 10 -----
> > >   4 files changed, 5 insertions(+), 78 deletions(-)
> > >   delete mode 100755 target/hexagon/gen_tcg_func_table.py
> > >
> > > diff --git a/target/hexagon/gen_tcg_func_table.py
> > > b/target/hexagon/gen_tcg_func_table.py
> > > deleted file mode 100755
> > > index 299a39b1aa..0000000000
> > > --- a/target/hexagon/gen_tcg_func_table.py
> > > -        f.write("const SemanticInsn opcode_genptr[XX_LAST_OPCODE] =
> > {\n")
> > > -        for tag in hex_common.tags:
> > > -            ## Skip the priv instructions
> > > -            if "A_PRIV" in hex_common.attribdict[tag]:
> > > -                continue
> > > -            ## Skip the guest instructions
> > > -            if "A_GUEST" in hex_common.attribdict[tag]:
> > > -                continue
> > > -            ## Skip the diag instructions
> > > -            if tag == "Y6_diag":
> > > -                continue
> > > -            if tag == "Y6_diag0":
> > > -                continue
> > > -            if tag == "Y6_diag1":
> > > -                continue
> >
> > What about all these skipped tags? IIUC gen_opcodes_def.py doesn't
> > skip them. If it isn't necessary to skip, please mention it in the
> > commit description for clarity.
> >
> > Regards,
> >
> > Phil.

I looked into this.  There aren't any instructions currently in the code that would be skipped by this logic.  Perhaps this logic was needed at one point in time but is no longer needed because those instructions were removed at some point.

I recall that Brian consolidated the logic to decide which instructions to skip into a single function in hex_common.py as part of the system mode patch series.  So, I'll go ahead and add a comment to the commit description as you suggest.

Thanks,
Taylor




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py
  2025-04-16 14:58     ` ltaylorsimpson
@ 2025-04-17  7:09       ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-04-17  7:09 UTC (permalink / raw)
  To: ltaylorsimpson, qemu-devel
  Cc: brian.cain, quic_mathbern, sidneym, quic_mliebel,
	richard.henderson, ale, anjo

On 16/4/25 16:58, ltaylorsimpson@gmail.com wrote:
> 
> 
>> -----Original Message-----
>> From: ltaylorsimpson@gmail.com <ltaylorsimpson@gmail.com>
>> Sent: Wednesday, April 16, 2025 8:45 AM
>> To: 'Philippe Mathieu-Daudé' <philmd@linaro.org>; qemu-
>> devel@nongnu.org
>> Cc: brian.cain@oss.qualcomm.com; quic_mathbern@quicinc.com;
>> sidneym@quicinc.com; quic_mliebel@quicinc.com;
>> richard.henderson@linaro.org; ale@rev.ng; anjo@rev.ng
>> Subject: RE: [PATCH] Hexagon (target/hexagon) Remove
>> gen_tcg_func_table.py
>>
>>
>>
>>> -----Original Message-----
>>> From: Philippe Mathieu-Daudé <philmd@linaro.org>
>>> Sent: Wednesday, April 16, 2025 12:18 AM
>>> To: Taylor Simpson <ltaylorsimpson@gmail.com>; qemu-
>> devel@nongnu.org
>>> Cc: brian.cain@oss.qualcomm.com; quic_mathbern@quicinc.com;
>>> sidneym@quicinc.com; quic_mliebel@quicinc.com;
>>> richard.henderson@linaro.org; ale@rev.ng; anjo@rev.ng
>>> Subject: Re: [PATCH] Hexagon (target/hexagon) Remove
>>> gen_tcg_func_table.py
>>>
>>> Hi Taylor,
>>>
>>> On 16/4/25 01:55, Taylor Simpson wrote:
>>>> This can easily be done in C with opcodes_def_generated.h.inc
>>>>
>>>> Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
>>>> ---
>>>>    target/hexagon/genptr.c              |  6 ++-
>>>>    target/hexagon/README                |  1 -
>>>>    target/hexagon/gen_tcg_func_table.py | 66 ----------------------------
>>>>    target/hexagon/meson.build           | 10 -----
>>>>    4 files changed, 5 insertions(+), 78 deletions(-)
>>>>    delete mode 100755 target/hexagon/gen_tcg_func_table.py
>>>>
>>>> diff --git a/target/hexagon/gen_tcg_func_table.py
>>>> b/target/hexagon/gen_tcg_func_table.py
>>>> deleted file mode 100755
>>>> index 299a39b1aa..0000000000
>>>> --- a/target/hexagon/gen_tcg_func_table.py
>>>> -        f.write("const SemanticInsn opcode_genptr[XX_LAST_OPCODE] =
>>> {\n")
>>>> -        for tag in hex_common.tags:
>>>> -            ## Skip the priv instructions
>>>> -            if "A_PRIV" in hex_common.attribdict[tag]:
>>>> -                continue
>>>> -            ## Skip the guest instructions
>>>> -            if "A_GUEST" in hex_common.attribdict[tag]:
>>>> -                continue
>>>> -            ## Skip the diag instructions
>>>> -            if tag == "Y6_diag":
>>>> -                continue
>>>> -            if tag == "Y6_diag0":
>>>> -                continue
>>>> -            if tag == "Y6_diag1":
>>>> -                continue
>>>
>>> What about all these skipped tags? IIUC gen_opcodes_def.py doesn't
>>> skip them. If it isn't necessary to skip, please mention it in the
>>> commit description for clarity.
>>>
>>> Regards,
>>>
>>> Phil.
> 
> I looked into this.  There aren't any instructions currently in the code that would be skipped by this logic.  Perhaps this logic was needed at one point in time but is no longer needed because those instructions were removed at some point.
> 
> I recall that Brian consolidated the logic to decide which instructions to skip into a single function in hex_common.py as part of the system mode patch series.  So, I'll go ahead and add a comment to the commit description as you suggest.

Thanks! With it:

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py
  2025-04-16 14:45   ` ltaylorsimpson
  2025-04-16 14:58     ` ltaylorsimpson
@ 2025-04-17 15:55     ` Brian Cain
  1 sibling, 0 replies; 6+ messages in thread
From: Brian Cain @ 2025-04-17 15:55 UTC (permalink / raw)
  To: ltaylorsimpson, 'Philippe Mathieu-Daudé', qemu-devel
  Cc: quic_mathbern, sidneym, quic_mliebel, richard.henderson, ale,
	anjo, marco.liebel, Matheus Tavares Bernardino

Adding Matheus, Marco -- their "quic_" email addresses might be 
deactivated soon if not already.

On 4/16/2025 9:45 AM, ltaylorsimpson@gmail.com wrote:
>
>> -----Original Message-----
>> From: Philippe Mathieu-Daudé <philmd@linaro.org>
>> Sent: Wednesday, April 16, 2025 12:18 AM
>> To: Taylor Simpson <ltaylorsimpson@gmail.com>; qemu-devel@nongnu.org
>> Cc: brian.cain@oss.qualcomm.com; quic_mathbern@quicinc.com;
>> sidneym@quicinc.com; quic_mliebel@quicinc.com;
>> richard.henderson@linaro.org; ale@rev.ng; anjo@rev.ng
>> Subject: Re: [PATCH] Hexagon (target/hexagon) Remove
>> gen_tcg_func_table.py
>>
>> Hi Taylor,
>>
>> On 16/4/25 01:55, Taylor Simpson wrote:
>>> This can easily be done in C with opcodes_def_generated.h.inc
>>>
>>> Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
>>> ---
>>>    target/hexagon/genptr.c              |  6 ++-
>>>    target/hexagon/README                |  1 -
>>>    target/hexagon/gen_tcg_func_table.py | 66 ----------------------------
>>>    target/hexagon/meson.build           | 10 -----
>>>    4 files changed, 5 insertions(+), 78 deletions(-)
>>>    delete mode 100755 target/hexagon/gen_tcg_func_table.py
>>>
>>> diff --git a/target/hexagon/gen_tcg_func_table.py
>>> b/target/hexagon/gen_tcg_func_table.py
>>> deleted file mode 100755
>>> index 299a39b1aa..0000000000
>>> --- a/target/hexagon/gen_tcg_func_table.py
>>> -        f.write("const SemanticInsn opcode_genptr[XX_LAST_OPCODE] =
>> {\n")
>>> -        for tag in hex_common.tags:
>>> -            ## Skip the priv instructions
>>> -            if "A_PRIV" in hex_common.attribdict[tag]:
>>> -                continue
>>> -            ## Skip the guest instructions
>>> -            if "A_GUEST" in hex_common.attribdict[tag]:
>>> -                continue
>>> -            ## Skip the diag instructions
>>> -            if tag == "Y6_diag":
>>> -                continue
>>> -            if tag == "Y6_diag0":
>>> -                continue
>>> -            if tag == "Y6_diag1":
>>> -                continue
>> What about all these skipped tags? IIUC gen_opcodes_def.py doesn't skip
>> them. If it isn't necessary to skip, please mention it in the commit description
>> for clarity.
>>
>> Regards,
>>
>> Phil.
>
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-04-17 15:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-15 23:55 [PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py Taylor Simpson
2025-04-16  6:18 ` Philippe Mathieu-Daudé
2025-04-16 14:45   ` ltaylorsimpson
2025-04-16 14:58     ` ltaylorsimpson
2025-04-17  7:09       ` Philippe Mathieu-Daudé
2025-04-17 15:55     ` Brian Cain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).