[PATCH v2] Hexagon (target/hexagon) Remove gen_tcg_func_table.py

2025-04-16 Thread Taylor Simpson
table. Signed-off-by: Taylor Simpson --- 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 dele

[PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py

2025-04-15 Thread Taylor Simpson
This can easily be done in C with opcodes_def_generated.h.inc Signed-off-by: Taylor Simpson --- target/hexagon/genptr.c | 6 ++- target/hexagon/README| 1 - target/hexagon/gen_tcg_func_table.py | 66 target/hexagon/meson.build

[RFC PATCH] Hexagon (target/hexagon) analyze all reads before writes

2025-03-24 Thread Taylor Simpson
register that is also written (either implicit or explicit). Then, anlayze_packet would detect a read-after-write, and the packet would not short-circuit. The execution would be correct, but the performance would not be optimal. Signed-off-by: Taylor Simpson --- target/hexagon/translate.

[PATCH v2] Hexagon (target/hexagon) Remove HEX_DEBUG/HEX_DEBUG_LOG

2024-11-05 Thread Taylor Simpson
All Hexagon debugging is now done with QEMU mechanisms (e.g., -d in_asm) or with a connected debugger (lldb). Signed-off-by: Taylor Simpson Reviewed-by: Matheus Tavares Bernardino --- target/hexagon/cpu.h | 6 -- target/hexagon/helper.h| 3 - target/hexagon/internal.h | 11

[PATCH] Hexagon (target/hexagon) Remove HEX_DEBUG/HEX_DEBUG_LOG

2024-11-04 Thread Taylor Simpson
All Hexagon debugging is now done with QEMU mechanisms (e.g., -d in_asm) or with a connected debugger (lldb). Signed-off-by: Taylor Simpson --- target/hexagon/cpu.h | 8 +-- target/hexagon/helper.h| 5 +- target/hexagon/internal.h | 13 + target/hexagon/translate.h | 2

[PATCH v2] Hexagon: lldb read/write predicate registers p0/p1/p2/p3

2024-06-13 Thread Taylor Simpson
p0 = 0x00 p1 = 0xff p2 = 0x00 p3 = 0xff Signed-off-by: Taylor Simpson --- target/hexagon/gdbstub.c | 19 ++- gdb-xml/hexagon-core.xml | 6 +- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/target/hexagon/gdbstub.c b/target/hex

[PATCH] Hexagon: lldb read/write predicate registers p0/p1/p2/p3

2024-06-12 Thread Taylor Simpson
p0 = 0x00 p1 = 0xff p2 = 0x00 p3 = 0xff Signed-off-by: Taylor Simpson --- target/hexagon/gdbstub.c | 19 ++- gdb-xml/hexagon-core.xml | 6 +- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/target/hexagon/gdbstub.c b/target/hex

[PATCH v2 3/9] Hexagon (target/hexagon) Mark dest_idx in trans functions

2024-03-06 Thread Taylor Simpson
Check that the value matches opcode_reginfo/opcode_wregs Signed-off-by: Taylor Simpson --- target/hexagon/insn.h | 1 + target/hexagon/decode.c | 2 ++ target/hexagon/mmvec/decode_ext_mmvec.c | 2 ++ target/hexagon/gen_trans_funcs.py | 6 ++ 4 files

[PATCH v2 8/9] Hexagon (target/hexagon) Remove gen_shortcode.py

2024-03-06 Thread Taylor Simpson
This data structure is not used Signed-off-by: Taylor Simpson --- target/hexagon/opcodes.c| 7 target/hexagon/README | 1 - target/hexagon/gen_shortcode.py | 63 - target/hexagon/meson.build | 10 -- 4 files changed, 81 deletions

[PATCH v2 2/9] Hexagon (target/hexagon) Mark new_read_idx in trans functions

2024-03-06 Thread Taylor Simpson
Check that the value matches opcode_reginfo Signed-off-by: Taylor Simpson --- target/hexagon/insn.h | 3 ++- target/hexagon/decode.c | 2 ++ target/hexagon/mmvec/decode_ext_mmvec.c | 2 ++ target/hexagon/gen_trans_funcs.py | 15 ++- 4 files

[PATCH v2 9/9] Hexagon (target/hexagon) Remove hex_common.read_attribs_file

2024-03-06 Thread Taylor Simpson
The attribinfo data structure is not used Adjust the command-line arguments to the python scripts Add hex_common.read_common_files for TCG/helper generation scripts Signed-off-by: Taylor Simpson --- target/hexagon/gen_analyze_funcs.py | 21 ++- target/hexagon/gen_helper_funcs.py

[PATCH v2 1/9] Hexagon (target/hexagon) Add is_old/is_new to Register class

2024-03-06 Thread Taylor Simpson
Signed-off-by: Taylor Simpson Reviewed-by: Philippe Mathieu-Daudé --- target/hexagon/hex_common.py | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/target/hexagon/hex_common.py b/target/hexagon/hex_common.py index 195620c7ec..4bacef223f 100755 --- a/target

[PATCH v2 4/9] Hexagon (target/hexagon) Mark has_pred_dest in trans functions

2024-03-06 Thread Taylor Simpson
Check that the value matches opcode_wregs Signed-off-by: Taylor Simpson --- target/hexagon/insn.h | 1 + target/hexagon/decode.c | 3 +++ target/hexagon/gen_trans_funcs.py | 5 + 3 files changed, 9 insertions(+) diff --git a/target/hexagon/insn.h b/target/hexagon

[PATCH v2 5/9] Hexagon (tests/tcg/hexagon) Test HVX .new read from high half of pair

2024-03-06 Thread Taylor Simpson
Make sure the decoding of HVX .new is correctly handling this case Signed-off-by: Taylor Simpson --- tests/tcg/hexagon/hvx_misc.c | 16 +++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/tcg/hexagon/hvx_misc.c b/tests/tcg/hexagon/hvx_misc.c index b45170acd1

[PATCH v2 0/9] Clean up .new decode and scripts

2024-03-06 Thread Taylor Simpson
Bernardino Mark Philippe's Reviewed-by on patch 01 Update example comment in gen_trans_funcs.py Taylor Simpson (9): Hexagon (target/hexagon) Add is_old/is_new to Register class Hexagon (target/hexagon) Mark new_read_idx in trans functions Hexagon (target/hexagon) Mark dest_idx in

[PATCH v2 6/9] Hexagon (target/hexagon) Remove uses of op_regs_generated.h.inc

2024-03-06 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/opcodes.h| 4 -- target/hexagon/decode.c | 57 +++-- target/hexagon/mmvec/decode_ext_mmvec.c | 34 +++ target/hexagon/opcodes.c| 28 4 files changed, 13

[PATCH v2 7/9] Hexagon (target/hexagon) Remove gen_op_regs.py

2024-03-06 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/README | 1 - target/hexagon/gen_op_regs.py | 125 -- target/hexagon/meson.build| 14 +--- 3 files changed, 2 insertions(+), 138 deletions(-) delete mode 100755 target/hexagon/gen_op_regs.py diff

[PATCH 5/9] Hexagon (tests/tcg/hexagon) Test HVX .new read from high half of pair

2024-02-26 Thread Taylor Simpson
Make sure the decoding of HVX .new is correctly handling this case Signed-off-by: Taylor Simpson --- tests/tcg/hexagon/hvx_misc.c | 16 +++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/tcg/hexagon/hvx_misc.c b/tests/tcg/hexagon/hvx_misc.c index b45170acd1

[PATCH 8/9] Hexagon (target/hexagon) Remove gen_shortcode.py

2024-02-26 Thread Taylor Simpson
This data structure is not used Signed-off-by: Taylor Simpson --- target/hexagon/opcodes.c| 7 target/hexagon/README | 1 - target/hexagon/gen_shortcode.py | 63 - target/hexagon/meson.build | 10 -- 4 files changed, 81 deletions

[PATCH 4/9] Hexagon (target/hexagon) Mark has_pred_dest in trans functions

2024-02-26 Thread Taylor Simpson
Check that the value matches opcode_wregs Signed-off-by: Taylor Simpson --- target/hexagon/insn.h | 1 + target/hexagon/decode.c | 3 +++ target/hexagon/gen_trans_funcs.py | 4 3 files changed, 8 insertions(+) diff --git a/target/hexagon/insn.h b/target/hexagon

[PATCH 1/9] Hexagon (target/hexagon) Add is_old/is_new to Register class

2024-02-26 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/hex_common.py | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/target/hexagon/hex_common.py b/target/hexagon/hex_common.py index 195620c7ec..4bacef223f 100755 --- a/target/hexagon/hex_common.py +++ b/target

[PATCH 3/9] Hexagon (target/hexagon) Mark dest_idx in trans functions

2024-02-26 Thread Taylor Simpson
Check that the value matches opcode_reginfo/opcode_wregs Signed-off-by: Taylor Simpson --- target/hexagon/insn.h | 1 + target/hexagon/decode.c | 2 ++ target/hexagon/mmvec/decode_ext_mmvec.c | 2 ++ target/hexagon/gen_trans_funcs.py | 4 4 files

[PATCH 9/9] Hexagon (target/hexagon) Remove hex_common.read_attribs_file

2024-02-26 Thread Taylor Simpson
The attribinfo data structure is not used Adjust the command-line arguments to the python scripts Add hex_common.read_common_files for TCG/helper generation scripts Signed-off-by: Taylor Simpson --- target/hexagon/gen_analyze_funcs.py | 21 ++- target/hexagon/gen_helper_funcs.py

[PATCH 0/9] Hexagon (target/hexagon) Clean up .new decode and scripts

2024-02-26 Thread Taylor Simpson
remove the script and meson.build code that creates shortcode_generated.h.inc. The data structure that includes it is not used. We remove hex_common.read_attribs_file. The Python data structures built during this step are not used. Taylor Simpson (9): Hexagon (target/hexagon) Add is_old/is_new

[PATCH 7/9] Hexagon (target/hexagon) Remove gen_op_regs.py

2024-02-26 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/README | 1 - target/hexagon/gen_op_regs.py | 125 -- target/hexagon/meson.build| 14 +--- 3 files changed, 2 insertions(+), 138 deletions(-) delete mode 100755 target/hexagon/gen_op_regs.py diff

[PATCH 6/9] Hexagon (target/hexagon) Remove uses of op_regs_generated.h.inc

2024-02-26 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/opcodes.h| 4 -- target/hexagon/decode.c | 57 +++-- target/hexagon/mmvec/decode_ext_mmvec.c | 34 +++ target/hexagon/opcodes.c| 28 4 files changed, 13

[PATCH 2/9] Hexagon (target/hexagon) Mark new_read_idx in trans functions

2024-02-26 Thread Taylor Simpson
Check that the value matches opcode_reginfo Signed-off-by: Taylor Simpson --- target/hexagon/insn.h | 3 ++- target/hexagon/decode.c | 2 ++ target/hexagon/mmvec/decode_ext_mmvec.c | 2 ++ target/hexagon/gen_trans_funcs.py | 15 ++- 4 files

[PATCH v3 1/3] Hexagon (target/hexagon) Pass P0 explicitly to helpers that need it

2024-02-13 Thread Taylor Simpson
Rather than reading P0 from the env, pass it explicitly Signed-off-by: Taylor Simpson Reviewed-by: Anton Johansson Tested-by: Anton Johansson --- target/hexagon/macros.h | 4 ++-- target/hexagon/hex_common.py | 12 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff

[PATCH v3 0/3] Hexagon (target/hexagon) Only pass env to generated helper when needed

2024-02-13 Thread Taylor Simpson
in v2 - Separate patches to pass P0 and SP explicitly to helpers that need it - Add the TCG_CALL_NO_RWG_SE flag to any non-HVX helpers that don't get ptr to env Taylor Simpson (3): Hexagon (target/hexagon) Pass P0 explicitly to helpers that need it Hexagon (target/hexagon) Pa

[PATCH v3 2/3] Hexagon (target/hexagon) Pass SP explicitly to helpers that need it

2024-02-13 Thread Taylor Simpson
Rather than reading SP from the env, pass it explicitly Signed-off-by: Taylor Simpson Reviewed-by: Anton Johansson Tested-by: Anton Johansson --- target/hexagon/macros.h | 2 +- target/hexagon/attribs_def.h.inc | 3 ++- target/hexagon/hex_common.py | 11 +++ 3 files

[PATCH v3 3/3] Hexagon (target/hexagon) Only pass env to generated helper when needed

2024-02-13 Thread Taylor Simpson
d: 1543 total, 550 with env Signed-off-by: Taylor Simpson Reviewed-by: Anton Johansson Tested-by: Anton Johansson --- target/hexagon/gen_tcg.h| 5 - target/hexagon/gen_helper_protos.py | 12 ++-- target/hexagon/hex_common.py| 23 ++- 3 fi

[PATCH v2 1/3] Hexagon (target/hexagon) Pass P0 explicitly to helpers that need it

2024-02-05 Thread Taylor Simpson
Rather than reading P0 from the env, pass it explicitly Signed-off-by: Taylor Simpson --- target/hexagon/macros.h | 2 +- target/hexagon/hex_common.py | 10 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/target/hexagon/macros.h b/target/hexagon/macros.h index

[PATCH v2 2/3] Hexagon (target/hexagon) Pass SP explicitly to helpers that need it

2024-02-05 Thread Taylor Simpson
Rather than reading SP from the env, pass it explicitly Signed-off-by: Taylor Simpson --- target/hexagon/macros.h | 2 +- target/hexagon/attribs_def.h.inc | 1 + target/hexagon/hex_common.py | 11 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/target

[PATCH v2 3/3] Hexagon (target/hexagon) Only pass env to generated helper when needed

2024-02-05 Thread Taylor Simpson
d: 1543 total, 550 with env Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h| 3 +++ target/hexagon/gen_helper_protos.py | 10 +- target/hexagon/hex_common.py| 23 ++- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a

[PATCH v2 0/3] Hexagon (target/hexagon) Only pass env to generated helper when needed

2024-02-05 Thread Taylor Simpson
TCG_CALL_NO_RWG_SE flag to any non-HVX helpers that don't get ptr to env Taylor Simpson (3): Hexagon (target/hexagon) Pass P0 explicitly to helpers that need it Hexagon (target/hexagon) Pass SP explicitly to helpers that need it Hexagon (target/hexagon) Only pass env to generated helper when n

[PATCH] Hexagon (target/hexagon) Only pass env to generated helper when needed

2024-02-02 Thread Taylor Simpson
ition" error from the compiler, so we write overrides for them. With this change, the number of helpers with env argument is idef-parser enabled:329 total, 23 with env idef-parser disabled: 1543 total, 553 with env Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h

[PATCH v2 3/3] Hexagon (target/hexagon) Enable more short-circuit packets (HVX)

2024-02-01 Thread Taylor Simpson
Look for read-after-write instead of overlap of reads and writes HVX instructions with helpers have pass-by-reference semantics, so we check for overlaps of reads and writes within the same instruction. Signed-off-by: Taylor Simpson --- target/hexagon/translate.h | 88

[PATCH v2 2/3] Hexagon (target/hexagon) Enable more short-circuit packets (scalar core)

2024-02-01 Thread Taylor Simpson
$0x7f976443 Signed-off-by: Taylor Simpson --- target/hexagon/translate.h | 13 +++-- target/hexagon/translate.c | 21 - 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/target/hexagon/translate.h b/target/hexagon/translate.h index f06d71fc53

[PATCH v2 0/3] Hexagon (target/hexagon) Enable more short-circuit packets

2024-02-01 Thread Taylor Simpson
patch https://lists.gnu.org/archive/html/qemu-devel/2023-12/msg01211.html Taylor Simpson (3): Hexagon (target/hexagon) Analyze reads before writes Hexagon (target/hexagon) Enable more short-circuit packets (scalar core) Hexagon (target/hexagon) Enable more short-circuit packets (HVX

[PATCH v2 1/3] Hexagon (target/hexagon) Analyze reads before writes

2024-02-01 Thread Taylor Simpson
analysis for short-circuiting the packet semantics in a subsequent commit Signed-off-by: Taylor Simpson --- target/hexagon/translate.h | 26 +++- target/hexagon/README | 9 +++-- target/hexagon/gen_analyze_funcs.py | 34 ++-- target/hexagon/hex_common.py

[PATCH v2 2/3] Hexagon (target/hexagon) Use QEMU decodetree (16-bit instructions)

2024-01-15 Thread Taylor Simpson
1, s2). Extend gen_trans_funcs.py to handle all instructions rather than filter by instruction class. There is a g_assert_not_reached() in decode_insns() in decode.c to verify we never try to use the old decoder on 16-bit instructions. Signed-off-by: Taylor Simpson Reviewed-by: Brian Cain --- t

[PATCH v2 0/3] Hexagon (target/hexagon) Use QEMU decodetree

2024-01-15 Thread Taylor Simpson
Replace the old Hexagon dectree.py with QEMU decodetree Changes in v2 Suggested Python improvements from Brian Cain Taylor Simpson (3): Hexagon (target/hexagon) Use QEMU decodetree (32-bit instructions) Hexagon (target/hexagon) Use QEMU decodetree (16-bit instructions) Hexagon

[PATCH v2 3/3] Hexagon (target/hexagon) Remove old dectree.py

2024-01-15 Thread Taylor Simpson
Now that we are using QEMU decodetree.py, remove the old decoder Signed-off-by: Taylor Simpson Reviewed-by: Brian Cain --- target/hexagon/opcodes.h| 2 - target/hexagon/decode.c | 344 target/hexagon/gen_dectree_import.c | 49 target

[PATCH v2 1/3] Hexagon (target/hexagon) Use QEMU decodetree (32-bit instructions)

2024-01-15 Thread Taylor Simpson
d-off-by: Taylor Simpson Reviewed-by: Brian Cain --- target/hexagon/decode.h | 5 +- target/hexagon/decode.c | 54 - target/hexagon/translate.c| 4 +- target/hexagon/README | 13 +- target/hexagon/gen_decodetree.py

[PATCH v2 0/3] Hexagon (target/hexagon) Use QEMU decodetree

2024-01-08 Thread Taylor Simpson
Replace the old Hexagon dectree.py with QEMU decodetree Taylor Simpson (3): Hexagon (target/hexagon) Use QEMU decodetree (32-bit instructions) Hexagon (target/hexagon) Use QEMU decodetree (16-bit instructions) Hexagon (target/hexagon) Remove old dectree.py target/hexagon/decode.h

[PATCH v2 1/3] Hexagon (target/hexagon) Use QEMU decodetree (32-bit instructions)

2024-01-08 Thread Taylor Simpson
d-off-by: Taylor Simpson --- target/hexagon/decode.h | 5 +- target/hexagon/decode.c | 54 - target/hexagon/translate.c| 4 +- target/hexagon/README | 13 +- target/hexagon/gen_decodetree.py | 193 ++ target/he

[PATCH v2 2/3] Hexagon (target/hexagon) Use QEMU decodetree (16-bit instructions)

2024-01-08 Thread Taylor Simpson
1, s2). Extend gen_trans_funcs.py to handle all instructions rather than filter by instruction class. There is a g_assert_not_reached() in decode_insns() in decode.c to verify we never try to use the old decoder on 16-bit instructions. Signed-off-by: Taylor Simpson --- target/hexagon/decode.c

[PATCH v2 3/3] Hexagon (target/hexagon) Remove old dectree.py

2024-01-08 Thread Taylor Simpson
Now that we are using QEMU decodetree.py, remove the old decoder Signed-off-by: Taylor Simpson --- target/hexagon/opcodes.h| 2 - target/hexagon/decode.c | 344 target/hexagon/gen_dectree_import.c | 49 target/hexagon/opcodes.c

[PATCH v2 4/9] Hexagon (target/hexagon) Make generators object oriented - gen_helper_funcs

2023-12-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/gen_helper_funcs.py | 368 + target/hexagon/hex_common.py | 48 +++- 2 files changed, 103 insertions(+), 313 deletions(-) diff --git a/target/hexagon/gen_helper_funcs.py b/target/hexagon/gen_helper_funcs.py

[PATCH v2 8/9] Hexagon (target/hexagon) Remove unused WRITES_PRED_REG attribute

2023-12-10 Thread Taylor Simpson
This is the only remaining use of the is_written function. We will remove it in the subsequent commit. Signed-off-by: Taylor Simpson --- target/hexagon/attribs_def.h.inc | 1 - target/hexagon/hex_common.py | 11 --- 2 files changed, 12 deletions(-) diff --git a/target/hexagon

[PATCH v2 5/9] Hexagon (target/hexagon) Make generators object oriented - gen_idef_parser_funcs

2023-12-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- 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

[PATCH v2 7/9] Hexagon (target/hexagon) Make generators object oriented - gen_analyze_funcs

2023-12-10 Thread Taylor Simpson
This patch conflicts with https://lists.gnu.org/archive/html/qemu-devel/2023-11/msg00729.html If that series goes in first, we'll rework this patch and vice versa. Signed-off-by: Taylor Simpson --- target/hexagon/gen_analyze_funcs.py | 163 +--- target/he

[PATCH v2 9/9] Hexagon (target/hexagon) Remove dead functions from hex_common.py

2023-12-10 Thread Taylor Simpson
These functions are no longer used after making the generators object oriented. Signed-off-by: Taylor Simpson --- target/hexagon/hex_common.py | 51 1 file changed, 51 deletions(-) diff --git a/target/hexagon/hex_common.py b/target/hexagon/hex_common.py

[PATCH v2 0/9] Hexagon (target/hexagon) Make generators object oriented

2023-12-10 Thread Taylor Simpson
See commit message in second patch Changes in v2 Address feedback from Brian Cain - Consolidate logic to create helper arg lists Taylor Simpson (9): Hexagon (target/hexagon) Clean up handling of modifier registers Hexagon (target/hexagon) Make generators object oriented

[PATCH v2 2/9] Hexagon (target/hexagon) Make generators object oriented - gen_tcg_funcs

2023-12-10 Thread Taylor Simpson
regid (e.g., is_read) This patch creates the class hierarchy in hex_common and converts gen_tcg_funcs.py. The other scripts will be converted in subsequent patches in this series. Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg_funcs.py | 571 ++- target/he

[PATCH v2 1/9] Hexagon (target/hexagon) Clean up handling of modifier registers

2023-12-10 Thread Taylor Simpson
to the modifier register specified in the instruction. We create a TCGv variable "CS" to hold the value to pass to the helper. Reviewed-by: Brian Cain Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h| 9 - target/hexagon/macros.h

[PATCH v2 3/9] Hexagon (target/hexagon) Make generators object oriented - gen_helper_protos

2023-12-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/gen_helper_protos.py | 149 ++-- target/hexagon/hex_common.py| 7 -- 2 files changed, 8 insertions(+), 148 deletions(-) diff --git a/target/hexagon/gen_helper_protos.py b/target/hexagon/gen_helper_protos.py

[PATCH v2 6/9] Hexagon (target/hexagon) Make generators object oriented - gen_op_regs

2023-12-10 Thread Taylor Simpson
Reviewed-by: Brian Cain Signed-off-by: Taylor Simpson --- target/hexagon/gen_op_regs.py | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target/hexagon/gen_op_regs.py b/target/hexagon/gen_op_regs.py index a8a7712129..7b7b33895a 100755 --- a/target/hexagon/gen_op_regs.py

[PATCH 4/9] Hexagon (target/hexagon) Make generators object oriented - gen_helper_funcs

2023-12-04 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/gen_helper_funcs.py | 400 +++-- target/hexagon/hex_common.py | 58 - 2 files changed, 151 insertions(+), 307 deletions(-) diff --git a/target/hexagon/gen_helper_funcs.py b/target/hexagon/gen_helper_funcs.py

[PATCH 9/9] Hexagon (target/hexagon) Remove dead functions from hex_common.py

2023-12-04 Thread Taylor Simpson
These functions are no longer used after making the generators object oriented. Signed-off-by: Taylor Simpson --- target/hexagon/hex_common.py | 51 1 file changed, 51 deletions(-) diff --git a/target/hexagon/hex_common.py b/target/hexagon/hex_common.py

[PATCH 7/9] Hexagon (target/hexagon) Make generators object oriented - gen_analyze_funcs

2023-12-04 Thread Taylor Simpson
This patch conflicts with https://lists.gnu.org/archive/html/qemu-devel/2023-11/msg00729.html If that series goes in first, we'll rework this patch and vice versa. Signed-off-by: Taylor Simpson --- target/hexagon/gen_analyze_funcs.py | 163 +--- target/he

[PATCH 1/9] Hexagon (target/hexagon) Clean up handling of modifier registers

2023-12-04 Thread Taylor Simpson
to the modifier register specified in the instruction. We create a TCGv variable "CS" to hold the value to pass to the helper. Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h| 9 - target/hexagon/macros.h | 3 +-- target/he

[PATCH 2/9] Hexagon (target/hexagon) Make generators object oriented - gen_tcg_funcs

2023-12-04 Thread Taylor Simpson
regid (e.g., is_read) This patch creates the class hierarchy in hex_common and converts gen_tcg_funcs.py. The other scripts will be converted in subsequent patches in this series. Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg_funcs.py | 583 +++- t

[PATCH 6/9] Hexagon (target/hexagon) Make generators object oriented - gen_op_regs

2023-12-04 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/gen_op_regs.py | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target/hexagon/gen_op_regs.py b/target/hexagon/gen_op_regs.py index a8a7712129..7b7b33895a 100755 --- a/target/hexagon/gen_op_regs.py +++ b/target/hexagon

[PATCH 8/9] Hexagon (target/hexagon) Remove unused WRITES_PRED_REG attribute

2023-12-04 Thread Taylor Simpson
This is the only remaining use of the is_written function. We will remove it in the subsequent commit. Signed-off-by: Taylor Simpson --- target/hexagon/attribs_def.h.inc | 1 - target/hexagon/hex_common.py | 11 --- 2 files changed, 12 deletions(-) diff --git a/target/hexagon

[PATCH 3/9] Hexagon (target/hexagon) Make generators object oriented - gen_helper_protos

2023-12-04 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/gen_helper_protos.py | 184 target/hexagon/hex_common.py| 15 +-- 2 files changed, 55 insertions(+), 144 deletions(-) diff --git a/target/hexagon/gen_helper_protos.py b/target/hexagon/gen_helper_protos.py

[PATCH 0/9] Hexagon (target/hexagon) Make generators object oriented

2023-12-04 Thread Taylor Simpson
See commit message in second patch Taylor Simpson (9): Hexagon (target/hexagon) Clean up handling of modifier registers Hexagon (target/hexagon) Make generators object oriented - gen_tcg_funcs Hexagon (target/hexagon) Make generators object oriented - gen_helper_protos Hexagon

[PATCH 5/9] Hexagon (target/hexagon) Make generators object oriented - gen_idef_parser_funcs

2023-12-04 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- 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

[PATCH] Hexagon (target/hexagon) Fix shadow variable when idef-parser is off

2023-11-30 Thread Taylor Simpson
Adding -Werror=shadow=compatible-local causes Hexagon not to build when idef-parser is off. The "label" variable in CHECK_NOSHUF_PRED shadows a variable in the surrounding code. Signed-off-by: Taylor Simpson --- target/hexagon/macros.h | 6 +++--- 1 file changed, 3 insertions(+), 3

[RFC PATCH] Hexagon (target/hexagon) Make generators object oriented

2023-11-09 Thread Taylor Simpson
y calls to hex_common.bad_register - We can remove the functions in hex_common that use regtype/regid (e.g., is_read) Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg_funcs.py | 568 +++- target/hexagon/hex_common.py| 467 ++ 2 files changed, 509

[PATCH 2/3] Hexagon (target/hexagon) Enable more short-circuit packets (scalar core)

2023-11-03 Thread Taylor Simpson
$0x7f976443 Signed-off-by: Taylor Simpson --- target/hexagon/translate.h | 13 +++-- target/hexagon/translate.c | 19 +++ target/hexagon/gen_tcg_funcs.py | 2 +- 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/target/hexagon/translate.h b

[PATCH 3/3] Hexagon (target/hexagon) Enable more short-circuit packets (HVX)

2023-11-03 Thread Taylor Simpson
Look for read-after-write instead of overlap of reads and writes HVX instructions with helpers have pass-by-reference semantics, so we check for overlaps of reads and writes within the same instruction. Signed-off-by: Taylor Simpson --- target/hexagon/translate.h | 88

[PATCH 0/3] Hexagon (target/hexagon) Enable more short-circuit packets

2023-11-03 Thread Taylor Simpson
can read from either the destination register or a temporary location. HVX instructions with generated helpers require special handling. The semantics of the helpers are pass-by-reference, so we still need the overlap check for these. Taylor Simpson (3): Hexagon (target/hexagon) Analyze reads

[PATCH 1/3] Hexagon (target/hexagon) Analyze reads before writes

2023-11-03 Thread Taylor Simpson
analysis for short-circuiting the packet semantics in a subsequent commit Signed-off-by: Taylor Simpson --- target/hexagon/translate.h | 24 ++- target/hexagon/README | 7 +- target/hexagon/gen_analyze_funcs.py | 221 +++- 3 files changed, 111

[PATCH 3/3] Hexagon (target/hexagon) Enable more short-circuit packets (HVX)

2023-11-02 Thread Taylor Simpson
binstlsT1oUDf.bin Description: test/plain

[PATCH 0/3] Hexagon (target/hexagon) Enable more short-circuit packets

2023-11-02 Thread Taylor Simpson
binQUp8uBOBfS.bin Description: test/plain

[PATCH 1/3] Hexagon (target/hexagon) Analyze reads before writes

2023-11-02 Thread Taylor Simpson
binJqsrgMI63R.bin Description: test/plain

[PATCH 2/3] Hexagon (target/hexagon) Enable more short-circuit packets (scalar core)

2023-11-02 Thread Taylor Simpson
binBoZeeZ311a.bin Description: test/plain

[PULL 0/5] Hexagon update

2023-05-26 Thread Taylor Simpson
rco Liebel (1): Hexagon (target/hexagon) Fix assignment to tmp registers Matheus Tavares Bernardino (2): target/hexagon/*.py: clean up used 'toss' and 'numregs' vars Hexagon: fix outdated `hex_new_*` comments Taylor Simpson (2): Hexagon (tests/tcg/hexag

[PULL 3/5] target/hexagon/*.py: clean up used 'toss' and 'numregs' vars

2023-05-26 Thread Taylor Simpson
ill restore the old full behavior. Suggested-by: Taylor Simpson Signed-off-by: Matheus Tavares Bernardino Reviewed-by: Taylor Simpson Tested-by: Taylor Simpson Signed-off-by: Taylor Simpson Message-Id: <3ffd4ccb972879f57f499705c624e8eaba7f8b52.1684939078.git.quic_mathb...@quicinc.com>

[PULL 5/5] Hexagon (target/hexagon) Change Hexagon maintainer

2023-05-26 Thread Taylor Simpson
Change Hexagon maintainer from Taylor Simpson to Brian Cain Put Taylor's gmail address in .mailmap Signed-off-by: Taylor Simpson Reviewed-by: Alex Bennée --- MAINTAINERS | 2 +- .mailmap| 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS

[PULL 4/5] Hexagon: fix outdated `hex_new_*` comments

2023-05-26 Thread Taylor Simpson
tweak them whenever we make a variable name change in the future, let's replace them with pseudocode. Suggested-by: Taylor Simpson Signed-off-by: Matheus Tavares Bernardino Reviewed-by: Taylor Simpson Signed-off-by: Taylor Simpson Message-Id: <8e1689e28dd7b1318369b55127cf47b82ab75921.16

[PULL 2/5] Hexagon (target/hexagon) Fix assignment to tmp registers

2023-05-26 Thread Taylor Simpson
ere in the wrong place. Moving them to the correct location makes shuffling of .tmp vector registers work as expected. Signed-off-by: Marco Liebel Reviewed-by: Taylor Simpson Tested-by: Taylor Simpson Signed-off-by: Taylor Simpson Reviewed-by: Brian Cain Message-Id: <20230522174708.46419

[PATCH 1/1] Hexagon (target/hexagon) Change Hexagon maintainer

2023-05-24 Thread Taylor Simpson
Change Hexagon maintainer from Taylor Simpson to Brian Cain Put Taylor's gmail address in .mailmap Signed-off-by: Taylor Simpson --- MAINTAINERS | 2 +- .mailmap| 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 1b6466496d..426d33f4cb 1

[PATCH 0/1] Change Hexagon maintainer

2023-05-24 Thread Taylor Simpson
I will be retiring from Qualcomm at the end of May, so I am placing the maintainership in the very capable hands of Brian Cain. Taylor Simpson (1): Hexagon (target/hexagon) Change Hexagon maintainer MAINTAINERS | 2 +- .mailmap| 1 + 2 files changed, 2 insertions(+), 1 deletion

RE: [PATCH v2 2/2] Hexagon: fix outdated `hex_new_*` comments

2023-05-24 Thread Taylor Simpson
> -Original Message- > From: Matheus Tavares Bernardino > Sent: Wednesday, May 24, 2023 9:42 AM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson ; Brian Cain > ; Marco Liebel (QUIC) > Subject: [PATCH v2 2/2] Hexagon: fix outdated `hex_new_*` comments > >

RE: [PATCH v2 1/2] target/hexagon/*.py: clean up used 'toss' and 'numregs' vars

2023-05-24 Thread Taylor Simpson
> -Original Message- > From: Matheus Tavares Bernardino > Sent: Wednesday, May 24, 2023 9:42 AM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson ; Brian Cain > ; Marco Liebel (QUIC) ; > Alessandro Di Federico ; Anton Johansson > Subject: [PATCH v2 1/2] targe

RE: [PATCH 2/2] Hexagon: fix outdated `hex_new_*` references in comments

2023-05-23 Thread Taylor Simpson
> -Original Message- > From: Matheus Tavares Bernardino > Sent: Tuesday, May 23, 2023 3:36 PM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson ; Brian Cain > ; Marco Liebel (QUIC) > Subject: [PATCH 2/2] Hexagon: fix outdated `hex_new_*` references in > comments

RE: [PATCH 1/2] target/hexagon/*.py: remove undef vars from bad_register()

2023-05-23 Thread Taylor Simpson
> -Original Message- > From: Matheus Tavares Bernardino > Sent: Tuesday, May 23, 2023 3:36 PM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson ; Brian Cain > ; Marco Liebel (QUIC) > Subject: [PATCH 1/2] target/hexagon/*.py: remove undef vars from > bad_regis

RE: [PATCH] Hexagon (target/hexagon) Fix assignment to tmp registers

2023-05-22 Thread Taylor Simpson
> -Original Message- > From: Marco Liebel (QUIC) > Sent: Monday, May 22, 2023 11:14 AM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson ; Brian Cain > ; Marco Liebel (QUIC) > Subject: [PATCH] Hexagon (target/hexagon) Fix assignment to tmp registers > > The

[PULL v2 44/44] Hexagon (linux-user/hexagon): handle breakpoints

2023-05-18 Thread Taylor Simpson
From: Matheus Tavares Bernardino This enables LLDB to work with hexagon linux-user mode through the GDB remote protocol. Helped-by: Richard Henderson Signed-off-by: Matheus Tavares Bernardino Reviewed-by: Richard Henderson Signed-off-by: Taylor Simpson Message-Id: --- linux-user/hexagon

[PULL v2 42/44] Hexagon (gdbstub): fix p3:0 read and write via stub

2023-05-18 Thread Taylor Simpson
From: Brian Cain Signed-off-by: Brian Cain Co-authored-by: Sid Manning Signed-off-by: Sid Manning Co-authored-by: Matheus Tavares Bernardino Signed-off-by: Matheus Tavares Bernardino Reviewed-by: Taylor Simpson Signed-off-by: Taylor Simpson Message-Id

[PULL v2 43/44] Hexagon (gdbstub): add HVX support

2023-05-18 Thread Taylor Simpson
Signed-off-by: Taylor Simpson Co-authored-by: Brian Cain Signed-off-by: Brian Cain Co-authored-by: Matheus Tavares Bernardino Signed-off-by: Matheus Tavares Bernardino Reviewed-by: Brian Cain Message-Id: <17cb32f34d469f705c3cc066a3583935352ee048.1683214375.git.quic_mathb...@quicinc.

[PULL v2 41/44] Hexagon: add core gdbstub xml data for LLDB

2023-05-18 Thread Taylor Simpson
From: Matheus Tavares Bernardino Signed-off-by: Matheus Tavares Bernardino Reviewed-by: Taylor Simpson Signed-off-by: Taylor Simpson Message-Id: --- MAINTAINERS| 1 + configs/targets/hexagon-linux-user.mak | 1 + target/hexagon/cpu.c | 3

[PULL v2 40/44] gdbstub: add test for untimely stop-reply packets

2023-05-18 Thread Taylor Simpson
stop-reply packet asynchronously, when GDB was in fact waiting an ACK. Signed-off-by: Matheus Tavares Bernardino Acked-by: Alex Bennée Signed-off-by: Taylor Simpson Message-Id: --- tests/guest-debug/run-test.py| 16 .../tcg/multiarch/system/Makefile.softmmu-t

[PULL v2 22/44] Hexagon (target/hexagon) Short-circuit packet HVX writes

2023-05-18 Thread Taylor Simpson
In certain cases, we can avoid the overhead of writing to future_VRegs and write directly to VRegs. We consider HVX reads/writes when computing ctx->need_commit. Then, we can early-exit from gen_commit_hvx. Signed-off-by: Taylor Simpson Reviewed-by: Richard Henderson Message

[PULL v2 31/44] Hexagon (target/hexagon) Additional instructions handled by idef-parser

2023-05-18 Thread Taylor Simpson
gen_rvalue_extend gen_cast_op imm_print lexer properly sets size/signedness of constants Test cases added to tests/tcg/hexagon/fpstuff.c Signed-off-by: Taylor Simpson Tested-by: Anton Johansson Reviewed-by: Anton Johansson Message-Id: <20230501203125.4025991-1-tsimp...@quicinc.com> ---

[PULL v2 33/44] Hexagon (target/hexagon/*.py): raise exception on reg parsing error

2023-05-18 Thread Taylor Simpson
ex_common.py. Signed-off-by: Matheus Tavares Bernardino Reviewed-by: Anton Johansson Tested-by: Taylor Simpson Reviewed-by: Taylor Simpson Signed-off-by: Taylor Simpson Message-Id: <1f5dbd92f68fdd89e2647e4ba527a2c32cf0f070.1683217043.git.quic_mathb...@quicinc.com> --- target/hexagon/gen_a

[PULL v2 19/44] Hexagon (target/hexagon) Mark registers as read during packet analysis

2023-05-18 Thread Taylor Simpson
Have gen_analyze_funcs mark the registers that are read by the instruction. We also mark the implicit reads using instruction attributes. Signed-off-by: Taylor Simpson Reviewed-by: Richard Henderson Message-Id: <20230427230012.3800327-11-tsimp...@quicinc.com> --- target/hexagon/trans

[PULL v2 17/44] Hexagon (target/hexagon) Clean up pred_written usage

2023-05-18 Thread Taylor Simpson
later in this series, so we mark it with G_GNUC_UNUSED. Signed-off-by: Taylor Simpson Reviewed-by: Richard Henderson Message-Id: <20230427230012.3800327-9-tsimp...@quicinc.com> --- target/hexagon/genptr.c| 16 +--- target/hexagon/translate.

  1   2   3   4   5   6   7   8   9   10   >