[RFC PATCH 30/66] Hexagon macros to interface with the generator

2020-02-10 Thread Taylor Simpson
Various forms of declare, read, write, free Signed-off-by: Taylor Simpson --- target/hexagon/macros.h | 388 1 file changed, 388 insertions(+) create mode 100644 target/hexagon/macros.h diff --git a/target/hexagon/macros.h b/target/hexagon

[RFC PATCH 27/66] Hexagon generator phase 3 - C preprocessor for decode tree

2020-02-10 Thread Taylor Simpson
Run the C preprocessor across the instruction definition and encoding files to expand macros and prepare the iset.py file. The resulting fill contains python data structures used to build the decode tree. Signed-off-by: Taylor Simpson --- target/hexagon/gen_dectree_import.c | 205

[RFC PATCH 65/66] Hexagon HVX translation

2020-02-10 Thread Taylor Simpson
Changes to packet semantics to support HVX Signed-off-by: Taylor Simpson --- target/hexagon/translate.c | 174 + target/hexagon/translate.h | 30 2 files changed, 204 insertions(+) diff --git a/target/hexagon/translate.c b/target/hexagon

[RFC PATCH 31/66] Hexagon macros referenced in instruction semantics

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/macros.h | +++ 1 file changed, insertions(+) diff --git a/target/hexagon/macros.h b/target/hexagon/macros.h index 4399585..e89fe4c 100644 --- a/target/hexagon/macros.h +++ b/target/hexagon

[RFC PATCH 19/66] Hexagon instruction utility functions

2020-02-10 Thread Taylor Simpson
Utility functions called by various instructions Signed-off-by: Taylor Simpson --- target/hexagon/arch.c | 664 + target/hexagon/arch.h | 62 target/hexagon/conv_emu.c | 370 +++ target/hexagon/conv_emu.h | 50 +++ target/hexagon

[RFC PATCH 57/66] Hexagon HVX import macro definitions

2020-02-10 Thread Taylor Simpson
the macro. Signed-off-by: Taylor Simpson --- target/hexagon/imported/allext_macros.def | 25 + target/hexagon/imported/mmvec/macros.def | 1110 + 2 files changed, 1135 insertions(+) create mode 100644 target/hexagon/imported/allext_macros.def create mode 100755

[RFC PATCH 34/66] Hexagon TCG generation helpers - step 2

2020-02-10 Thread Taylor Simpson
Helpers for load-locked/store-conditional Signed-off-by: Taylor Simpson --- target/hexagon/genptr_helpers.h | 52 + 1 file changed, 52 insertions(+) diff --git a/target/hexagon/genptr_helpers.h b/target/hexagon/genptr_helpers.h index 2b91fdb..b780522

[RFC PATCH 63/66] Hexagon HVX helper to commit vector stores (masked and scatter/gather)

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/helper.h| 1 + target/hexagon/op_helper.c | 75 ++ 2 files changed, 76 insertions(+) diff --git a/target/hexagon/helper.h b/target/hexagon/helper.h index 5dc0f71..3e4728d 100644 --- a/target

[RFC PATCH 32/66] Hexagon instruction classes

2020-02-10 Thread Taylor Simpson
Used to determine legal VLIW slots for each instruction Signed-off-by: Taylor Simpson --- target/hexagon/iclass.c | 109 target/hexagon/iclass.h | 46 2 files changed, 155 insertions(+) create mode 100644 target/hexagon

[RFC PATCH 59/66] Hexagon HVX instruction decoding

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/decode.c | 23 +- target/hexagon/mmvec/decode_ext_mmvec.c | 673 target/hexagon/mmvec/decode_ext_mmvec.h | 24 ++ target/hexagon/q6v_decode.c | 14 + 4 files changed, 732 insertions

[RFC PATCH 41/66] Hexagon TCG generation - step 04

2020-02-10 Thread Taylor Simpson
Override store instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 241 ++ 1 file changed, 241 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index 673b7a5..648fc5d 100644

[RFC PATCH 38/66] Hexagon TCG generation - step 01

2020-02-10 Thread Taylor Simpson
Include the generated files and set up the data structures Signed-off-by: Taylor Simpson --- target/hexagon/genptr.c | 60 + target/hexagon/genptr.h | 25 + 2 files changed, 85 insertions(+) create mode 100644 target/hexagon

[RFC PATCH 42/66] Hexagon TCG generation - step 05

2020-02-10 Thread Taylor Simpson
Override predicated store instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 54 +++ 1 file changed, 54 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index 648fc5d..9791d33

[RFC PATCH 37/66] Hexagon TCG generation helpers - step 5

2020-02-10 Thread Taylor Simpson
Helpers for instructions overriden for optimization Signed-off-by: Taylor Simpson --- target/hexagon/genptr_helpers.h | 314 1 file changed, 314 insertions(+) diff --git a/target/hexagon/genptr_helpers.h b/target/hexagon/genptr_helpers.h index 85b449a

[RFC PATCH 40/66] Hexagon TCG generation - step 03

2020-02-10 Thread Taylor Simpson
Override predicated load instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 235 ++ 1 file changed, 235 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index 553..673b7a5

[RFC PATCH 47/66] Hexagon TCG generation - step 10

2020-02-10 Thread Taylor Simpson
Override compound compare and jump instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 105 ++ 1 file changed, 105 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index 52e4a47

[RFC PATCH 44/66] Hexagon TCG generation - step 07

2020-02-10 Thread Taylor Simpson
Override dczeroa, allocframe, and return instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 209 ++ 1 file changed, 209 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index

[RFC PATCH 50/66] Hexagon translation

2020-02-10 Thread Taylor Simpson
Read the instruction memory Create a packet data structure Generate TCG code for the start of the packet Invoke the generate function for each instruction Generate TCG code for the end of the packet Signed-off-by: Taylor Simpson --- target/hexagon/translate.c | 732

[RFC PATCH 48/66] Hexagon TCG generation - step 11

2020-02-10 Thread Taylor Simpson
Override compare, transfer, conditional jump instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 119 ++ 1 file changed, 119 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h

[RFC PATCH 62/66] Hexagon HVX macros referenced in instruction semantics

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/mmvec/macros.h | 436 ++ 1 file changed, 436 insertions(+) diff --git a/target/hexagon/mmvec/macros.h b/target/hexagon/mmvec/macros.h index 80adb83..93d86e7 100644 --- a/target/hexagon/mmvec/macros.h +++ b

[RFC PATCH 54/66] Hexagon HVX support in gdbstub

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/gdbstub.c | 62 1 file changed, 62 insertions(+) diff --git a/target/hexagon/gdbstub.c b/target/hexagon/gdbstub.c index f07cb9a..e97b0af 100644 --- a/target/hexagon/gdbstub.c +++ b/target/hexagon

[RFC PATCH 55/66] Hexagon HVX import instruction encodings

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/imported/allextenc.def| 20 + target/hexagon/imported/encode.def | 1 + target/hexagon/imported/mmvec/encode_ext.def | 830 +++ 3 files changed, 851 insertions(+) create mode 100644 target/hexagon

[RFC PATCH 58/66] Hexagon HVX semantics generator

2020-02-10 Thread Taylor Simpson
Add HVX support to the semantics generator Signed-off-by: Taylor Simpson --- target/hexagon/do_qemu.py | 175 ++--- target/hexagon/gen_semantics.c | 9 +++ 2 files changed, 171 insertions(+), 13 deletions(-) diff --git a/target/hexagon/do_qemu.py b

[RFC PATCH 61/66] Hexagon HVX macros to interface with the generator

2020-02-10 Thread Taylor Simpson
Various forms of declare, read, write, free for HVX operands Signed-off-by: Taylor Simpson --- target/hexagon/mmvec/macros.h | 232 ++ 1 file changed, 232 insertions(+) create mode 100644 target/hexagon/mmvec/macros.h diff --git a/target/hexagon/mmvec

[RFC PATCH 60/66] Hexagon HVX instruction utility functions

2020-02-10 Thread Taylor Simpson
Functions to support scatter/gather Signed-off-by: Taylor Simpson --- target/hexagon/mmvec/system_ext_mmvec.c | 265 target/hexagon/mmvec/system_ext_mmvec.h | 38 + 2 files changed, 303 insertions(+) create mode 100644 target/hexagon/mmvec

RE: [RFC PATCH 55/66] Hexagon HVX import instruction encodings

2020-02-11 Thread Taylor Simpson
; From: Philippe Mathieu-Daudé > Sent: Tuesday, February 11, 2020 1:02 AM > To: Taylor Simpson ; qemu-devel@nongnu.org > Cc: richard.hender...@linaro.org; laur...@vivier.eu; riku.voi...@iki.fi; > aleksandar.m.m...@gmail.com > Subject: Re: [RFC PATCH 55/66] Hexagon HVX import instruction e

RE: [PATCH 2/2] target/arm: Use tcg_gen_gvec_5_ptr for sve FMLA/FCMLA

2020-02-12 Thread Taylor Simpson
Reviewed-by: Taylor Simpson > -Original Message- > From: Richard Henderson > Sent: Tuesday, February 11, 2020 8:52 PM > To: qemu-devel@nongnu.org > Cc: peter.mayd...@linaro.org; alex.ben...@linaro.org; Taylor Simpson > > Subject: [PATCH 2/2] target/arm: Use tcg_g

RE: [PATCH 1/2] tcg: Add tcg_gen_gvec_5_ptr

2020-02-12 Thread Taylor Simpson
Reviewed-by: Taylor Simpson > -Original Message- > From: Richard Henderson > Sent: Tuesday, February 11, 2020 8:52 PM > To: qemu-devel@nongnu.org > Cc: peter.mayd...@linaro.org; alex.ben...@linaro.org; Taylor Simpson > > Subject: [PATCH 1/2] tcg: Add tcg_gen_gvec

RE: [PATCH v3 0/4] linux-user: fix use of SIGRTMIN

2020-02-12 Thread Taylor Simpson
Tested-by: Taylor Simpson > -Original Message- > From: Laurent Vivier > Sent: Wednesday, February 12, 2020 6:57 AM > To: qemu-devel@nongnu.org > Cc: Aleksandar Markovic ; Laurent Vivier > ; Matus Kysel ; > milos.stojano...@rt-rk.com; Riku Voipio ; Josh Kunz >

RE: [RFC PATCH 29/66] Hexagon opcode data structures

2020-02-12 Thread Taylor Simpson
> -Original Message- > From: Philippe Mathieu-Daudé > Sent: Tuesday, February 11, 2020 1:41 AM > To: Taylor Simpson ; qemu-devel@nongnu.org > Cc: richard.hender...@linaro.org; laur...@vivier.eu; riku.voi...@iki.fi; > aleksandar.m.m...@gmail.com > Subject: Re: [RFC

RE: [PATCH 1/2] Hexagon (iclass): update J4_hintjumpr slot constraints

2023-01-13 Thread Taylor Simpson
> -Original Message- > From: Matheus Tavares Bernardino > Sent: Friday, January 13, 2023 7:39 AM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson ; Brian Cain > ; richard.hender...@linaro.org > Subject: [PATCH 1/2] Hexagon (iclass): update J4_hintjumpr slot constra

RE: [PATCH 2/2] Hexagon (decode): look for pkts with multiple insns at the same slot

2023-01-13 Thread Taylor Simpson
> -Original Message- > From: Matheus Tavares Bernardino > Sent: Friday, January 13, 2023 7:39 AM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson ; Brian Cain > ; richard.hender...@linaro.org > Subject: [PATCH 2/2] Hexagon (decode): look for pkts with multiple ins

RE: [PATCH v4 12/19] target/hexagon: Clean up includes

2023-01-19 Thread Taylor Simpson
-off-by: Markus Armbruster > --- > target/hexagon/hex_arch_types.h | 1 - > target/hexagon/mmvec/macros.h | 1 - > 2 files changed, 2 deletions(-) Reviewed-by: Taylor Simpson

RE: [PATCH] Hexagon (translate.c): avoid redundant PC updates on COF

2023-03-23 Thread Taylor Simpson
> -Original Message- > From: Matheus Tavares Bernardino > Sent: Wednesday, March 22, 2023 3:17 PM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson ; richard.hender...@linaro.org; > a...@rev.ng > Subject: [PATCH] Hexagon (translate.c): avoid redundant PC updates o

RE: [PATCH] Use hexagon toolchain version 16.0.0

2023-03-29 Thread Taylor Simpson
> -Original Message- > From: Alex Bennée > Sent: Wednesday, March 29, 2023 10:34 AM > To: Marco Liebel (QUIC) > Cc: Taylor Simpson ; qemu-devel@nongnu.org > Subject: Re: [PATCH] Use hexagon toolchain version 16.0.0 > > Marco Liebel writes: > >

[PATCH] Hexagon (target/hexagon) Add overrides for count trailing zeros/ones

2023-04-05 Thread Taylor Simpson
because the imported semantics uses bit-reverse. However, they are straightforward to implement in TCG with tcg_gen_ctzi_* Test cases added to tests/tcg/hexagon/misc.c Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h | 24 + tests/tcg/hexagon/misc.c | 56

[PATCH] Hexagon (target/hexagon) Merge arguments to probe_pkt_scalar_hvx_stores

2023-04-05 Thread Taylor Simpson
Reducing the number of arguments reduces the overhead of the helper call Signed-off-by: Taylor Simpson --- target/hexagon/helper.h| 4 ++-- target/hexagon/translate.h | 1 + target/hexagon/op_helper.c | 4 ++-- target/hexagon/translate.c | 10 +- 4 files changed, 10 insertions

[PATCH] Hexagon (target/hexagon) Updates to USR should use get_result_gpr

2023-04-05 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h| 4 +- target/hexagon/genptr.h | 10 ++--- target/hexagon/macros.h | 8 target/hexagon/genptr.c | 49 ++--- target/hexagon/idef-parser

[PATCH] Hexagon (target/hexagon) Remove redundant/unused macros

2023-04-05 Thread Taylor Simpson
-off-by: Taylor Simpson --- target/hexagon/macros.h | 65 ++--- 1 file changed, 22 insertions(+), 43 deletions(-) diff --git a/target/hexagon/macros.h b/target/hexagon/macros.h index 482a9c787f..f5f31b6930 100644 --- a/target/hexagon/macros.h +++ b/target/hexagon

[PATCH] Hexagon (tests/tcg/hexagon) Move HVX test infra to header file

2023-04-05 Thread Taylor Simpson
This will facilitate adding additional tests in separate .c files Signed-off-by: Taylor Simpson --- tests/tcg/hexagon/hvx_misc.h | 178 ++ tests/tcg/hexagon/hvx_misc.c | 160 +-- tests/tcg/hexagon/Makefile.target | 1 + 3 files

RE: [PATCH] Hexagon (tests/tcg/hexagon) Move HVX test infra to header file

2023-04-06 Thread Taylor Simpson
> -Original Message- > From: Philippe Mathieu-Daudé > Sent: Thursday, April 6, 2023 2:24 AM > To: Taylor Simpson ; qemu-devel@nongnu.org > Cc: richard.hender...@linaro.org; a...@rev.ng; a...@rev.ng; Brian Cain > ; Matheus Bernardino (QUIC) > > Subject: Re: [P

[PATCH v2] Hexagon (tests/tcg/hexagon) Move HVX test infra to header file

2023-04-06 Thread Taylor Simpson
This will facilitate adding additional tests in separate .c files Signed-off-by: Taylor Simpson --- tests/tcg/hexagon/hvx_misc.h | 178 ++ tests/tcg/hexagon/hvx_misc.c | 160 +-- tests/tcg/hexagon/Makefile.target | 1 + 3 files

RE: [PATCH 5/7] Hexagon (gdbstub): fix p3:0 read and write via stub

2023-04-06 Thread Taylor Simpson
> -Original Message- > From: Matheus Bernardino (QUIC) > Sent: Thursday, April 6, 2023 2:30 PM > To: qemu-devel@nongnu.org > Cc: Brian Cain ; Taylor Simpson > ; alex.ben...@linaro.org; f4...@amsat.org; > peter.mayd...@linaro.org; Sid Manning > Subject: [PAT

[PATCH] Hexagon (target/hexagon) Remove unused slot variable in helpers

2023-04-07 Thread Taylor Simpson
The slot variable in helpers was only passed to log_reg_write function where the argument is unused. - Remove declaration from generated helper functions - Remove slot argument from log_reg_write Signed-off-by: Taylor Simpson --- target/hexagon/macros.h| 2 +- target/hexagon

[PATCH] Hexagon (target/hexagon) Additional instructions handled by idef-parser

2023-04-07 Thread Taylor Simpson
work, we fix some bugs in parser-helpers.c gen_rvalue_extend gen_cast_op Test cases added to tests/tcg/hexagon/fpstuff.c Signed-off-by: Taylor Simpson --- target/hexagon/idef-parser/parser-helpers.c | 16 +++--- tests/tcg/hexagon/fpstuff.c | 54

[PATCH] Hexagon (target/hexagon) Add overrides for cache/sync/barrier instructions

2023-04-10 Thread Taylor Simpson
Most of these are not modelled in QEMU, so save the overhead of calling a helper. The only exception is dczeroa. It assigns to hex_dczero_addr, which is handled during packet commit. Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h | 24 target/hexagon

RE: [PATCH] Hexagon (target/hexagon) Add overrides for cache/sync/barrier instructions

2023-04-10 Thread Taylor Simpson
> -Original Message- > From: Richard Henderson > Sent: Monday, April 10, 2023 8:30 PM > To: Taylor Simpson ; qemu-devel@nongnu.org > Cc: phi...@linaro.org; a...@rev.ng; a...@rev.ng; Brian Cain > ; Matheus Bernardino (QUIC) > > Subject: Re: [PATCH] Hexagon (targe

[PATCH v4 07/13] Hexagon (tests/tcg/hexagon) Update preg_alias.c

2023-01-24 Thread Taylor Simpson
Add control registers (c4, c5) to clobbers list Made possible by new toolchain container Signed-off-by: Taylor Simpson --- tests/tcg/hexagon/preg_alias.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/tcg/hexagon/preg_alias.c b/tests/tcg/hexagon

[PATCH v4 10/13] Hexagon (target/hexagon) Change subtract from zero to change sign

2023-01-24 Thread Taylor Simpson
The F2_sffms instruction [r0 -= sfmpy(r1, r2)] doesn't properly handle -0. Previously we would negate the input operand by subtracting from zero. Instead, we negate by changing the sign bit. Test case added to tests/tcg/hexagon/fpstuff.c Signed-off-by: Taylor Simpson --- target/he

[PATCH v4 11/13] Hexagon (target/hexagon) Remove gen_log_predicated_reg_write[_pair]

2023-01-24 Thread Taylor Simpson
,$0x1 brcond_i32 tmp0,$0x0,eq,$L1 and_i32 tmp0,r0,r1 mov_i32 new_r2,tmp0 br $L2 set_label $L1 or_i32 slot_cancelled,slot_cancelled,$0x8 set_label $L2 mov_i32 r2,new_r2 We'll remove the unnecessary manipulation of slot_cancelled in a subsequent patch. Signed-off-by: Taylor Simpson -

[PATCH v4 13/13] Hexagon (target/hexagon) Improve code gen for predicated HVX instructions

2023-01-24 Thread Taylor Simpson
reg_write[_pair] is called It's only needed for special operands VxxV and VyV Remove gen_log_qreg_write Signed-off-by: Taylor Simpson --- target/hexagon/cpu.h| 3 -- target/hexagon/gen_tcg_hvx.h| 17 +--- target/hexagon/translate.h | 16 +++-

[PATCH v4 03/13] Hexagon (target/hexagon) Add overrides for endloop1/endloop01

2023-01-24 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h | 4 ++ target/hexagon/genptr.c | 79 2 files changed, 83 insertions(+) diff --git a/target/hexagon/gen_tcg.h b/target/hexagon/gen_tcg.h index 9e8f3373ad..6267f51ccc 100644 --- a/target/hexagon

[PATCH v4 01/13] Hexagon (target/hexagon) Add overrides for jumpr31 instructions

2023-01-24 Thread Taylor Simpson
: Taylor Simpson --- target/hexagon/gen_tcg.h | 15 ++- target/hexagon/genptr.c | 10 +- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/target/hexagon/gen_tcg.h b/target/hexagon/gen_tcg.h index 19697b42a5..d644e59a63 100644 --- a/target/hexagon/gen_tcg.h +++ b

[PATCH v4 00/13] Hexagon: COF overrides, new generator, test/bug update

2023-01-24 Thread Taylor Simpson
container Changes in v4 Additional patch for bug fix Remove pkt_has_store_s1 from runtime state with dealloc-return patch New patches to utilize new analyzer to improve predicated instructions Taylor Simpson (13): Hexagon (target/hexagon) Add overrides for jumpr31 instructions

[PATCH v4 05/13] Hexagon (target/hexagon) Analyze packet before generating TCG

2023-01-24 Thread Taylor Simpson
d the intermediate step of writing to hex_new_value. Note that other checks will also be needed (e.g., no instructions can raise an exception). Signed-off-by: Taylor Simpson --- target/hexagon/translate.h | 46 ++-- target/hexagon/genptr.c | 5 +- t

[PATCH v4 04/13] Hexagon (target/hexagon) Add overrides for dealloc-return instructions

2023-01-24 Thread Taylor Simpson
SL2_return_fnew This patch eliminates the last helper that uses write_new_pc, so we remove it from op_helper.c This patch also eliminates the last helper for load instructions, so we remove the pkt_has_store_s1 runtime field as well as the mem_load[1248] functions. Signed-off-by: Taylor Simpson

[PATCH v4 06/13] Hexagon (target/hexagon) Analyze packet for HVX

2023-01-24 Thread Taylor Simpson
Extend the analyze_ functions for HVX vector and predicate writes Remove calls to ctx_log_vreg_write[_pair] from gen_tcg_funcs.py During gen_start_packet, reload the predicated HVX registers into fugure_VRegs and tmp_VRegs Signed-off-by: Taylor Simpson --- target/hexagon/translate.h

[PATCH v4 02/13] Hexagon (target/hexagon) Add overrides for callr

2023-01-24 Thread Taylor Simpson
Add overrides for J2_callr J2_callrt J2_callrf Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h | 6 ++ target/hexagon/macros.h | 12 +--- target/hexagon/genptr.c | 20 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a

[PATCH v4 09/13] Hexagon (tests/tcg/hexagon) Enable HVX tests

2023-01-24 Thread Taylor Simpson
Made possible by new toolchain container Signed-off-by: Taylor Simpson --- tests/tcg/hexagon/Makefile.target | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/tcg/hexagon/Makefile.target b/tests/tcg/hexagon/Makefile.target index 18e6a5969e..f753b39d91

[PATCH v4 12/13] Hexagon (target/hexagon) Reduce manipulation of slot_cancelled

2023-01-24 Thread Taylor Simpson
We only need to track slot for predicated stores and predicated HVX instructions. Add arguments to the probe helper functions to indicate if the slot is predicated. Signed-off-by: Taylor Simpson --- target/hexagon/macros.h | 2 +- target/hexagon/op_helper.h

[PATCH v4 08/13] Hexagon (tests/tcg/hexagon) Remove __builtin from scatter_gather

2023-01-24 Thread Taylor Simpson
Replace __builtin_* with inline assembly The __builtin's are subject to change with different compiler releases, so might break Mark arrays as aligned when accessed as HVX vectors Clean up comments Signed-off-by: Taylor Simpson --- tests/tcg/hexagon/scatter_gather.c

[PATCH v5 12/14] Hexagon (target/hexagon) Remove gen_log_predicated_reg_write[_pair]

2023-01-31 Thread Taylor Simpson
ulation of slot_cancelled in a subsequent patch. Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h| 7 +- target/hexagon/macros.h | 17 --- target/hexagon/genptr.c | 120 target/hexagon/idef-parser/parser

[PATCH v5 06/14] Hexagon (target/hexagon) Don't set pkt_has_store_s1 when not needed

2023-01-31 Thread Taylor Simpson
: Taylor Simpson --- target/hexagon/translate.h | 1 + target/hexagon/attribs_def.h.inc| 1 + target/hexagon/translate.c | 6 +- target/hexagon/gen_analyze_funcs.py | 5 + target/hexagon/hex_common.py| 1 + 5 files changed, 13 insertions(+), 1 deletion(-) diff

[PATCH v5 14/14] Hexagon (target/hexagon) Improve code gen for predicated HVX instructions

2023-01-31 Thread Taylor Simpson
reg_write[_pair] is called It's only needed for special operands VxxV and VyV Remove gen_log_qreg_write Signed-off-by: Taylor Simpson --- target/hexagon/cpu.h| 5 +-- target/hexagon/gen_tcg_hvx.h| 17 +--- target/hexagon/translate.h | 16 +++-

[PATCH v5 05/14] Hexagon (target/hexagon) Analyze packet before generating TCG

2023-01-31 Thread Taylor Simpson
d the intermediate step of writing to hex_new_value. Note that other checks will also be needed (e.g., no instructions can raise an exception). Signed-off-by: Taylor Simpson --- target/hexagon/translate.h | 46 ++-- target/hexagon/genptr.c | 5 +- t

[PATCH v5 10/14] Hexagon (tests/tcg/hexagon) Enable HVX tests

2023-01-31 Thread Taylor Simpson
Made possible by new toolchain container Signed-off-by: Taylor Simpson --- tests/tcg/hexagon/Makefile.target | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/tcg/hexagon/Makefile.target b/tests/tcg/hexagon/Makefile.target index 18e6a5969e..f753b39d91

[PATCH v5 09/14] Hexagon (tests/tcg/hexagon) Remove __builtin from scatter_gather

2023-01-31 Thread Taylor Simpson
Replace __builtin_* with inline assembly The __builtin's are subject to change with different compiler releases, so might break Mark arrays as aligned when accessed as HVX vectors Clean up comments Signed-off-by: Taylor Simpson --- tests/tcg/hexagon/scatter_gather.c

[PATCH v5 02/14] Hexagon (target/hexagon) Add overrides for callr

2023-01-31 Thread Taylor Simpson
Add overrides for J2_callr J2_callrt J2_callrf Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h | 6 ++ target/hexagon/macros.h | 12 +--- target/hexagon/genptr.c | 20 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a

[PATCH v5 00/14] Hexagon: COF overrides, new generator, test/bug update

2023-01-31 Thread Taylor Simpson
lyzer Additional patch to determine when pkt_has_store_s1 needs to be set Update fGEN_TCG_ to preserve --disable-hexagon-idef-parser config in Remove gen_log_predicated_reg_write[_pair] patch Move tcg_temp_free_i64 into gen_log_vreg_write Add get_result_qreg function Taylor Simpson (14): He

[PATCH v5 13/14] Hexagon (target/hexagon) Reduce manipulation of slot_cancelled

2023-01-31 Thread Taylor Simpson
new_r2,r2 and_i32 tmp0,p0,$0x1 brcond_i32 tmp0,$0x0,eq,$L1 and_i32 tmp0,r0,r1 mov_i32 new_r2,tmp0 br $L2 set_label $L1 set_label $L2 mov_i32 r2,new_r2 Signed-off-by: Taylor Simpson --- target/hexagon/macros.h | 2 +- target/hexagon/op_helper.h | 3

[PATCH v5 03/14] Hexagon (target/hexagon) Add overrides for endloop1/endloop01

2023-01-31 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h | 4 ++ target/hexagon/genptr.c | 79 2 files changed, 83 insertions(+) diff --git a/target/hexagon/gen_tcg.h b/target/hexagon/gen_tcg.h index 9e8f3373ad..6267f51ccc 100644 --- a/target/hexagon

[PATCH v5 08/14] Hexagon (tests/tcg/hexagon) Update preg_alias.c

2023-01-31 Thread Taylor Simpson
Add control registers (c4, c5) to clobbers list Made possible by new toolchain container Signed-off-by: Taylor Simpson --- tests/tcg/hexagon/preg_alias.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/tcg/hexagon/preg_alias.c b/tests/tcg/hexagon

[PATCH v5 11/14] Hexagon (target/hexagon) Change subtract from zero to change sign

2023-01-31 Thread Taylor Simpson
The F2_sffms instruction [r0 -= sfmpy(r1, r2)] doesn't properly handle -0. Previously we would negate the input operand by subtracting from zero. Instead, we negate by changing the sign bit. Test case added to tests/tcg/hexagon/fpstuff.c Signed-off-by: Taylor Simpson --- target/he

[PATCH v5 01/14] Hexagon (target/hexagon) Add overrides for jumpr31 instructions

2023-01-31 Thread Taylor Simpson
: Taylor Simpson --- target/hexagon/gen_tcg.h | 15 ++- target/hexagon/genptr.c | 10 +- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/target/hexagon/gen_tcg.h b/target/hexagon/gen_tcg.h index 19697b42a5..d644e59a63 100644 --- a/target/hexagon/gen_tcg.h +++ b

[PATCH v5 04/14] Hexagon (target/hexagon) Add overrides for dealloc-return instructions

2023-01-31 Thread Taylor Simpson
SL2_return_fnew This patch eliminates the last helper that uses write_new_pc, so we remove it from op_helper.c Signed-off-by: Taylor Simpson --- target/hexagon/gen_tcg.h | 54 target/hexagon/genptr.c| 86 ++ target/hexagon/op_helper.c

[PATCH v5 07/14] Hexagon (target/hexagon) Analyze packet for HVX

2023-01-31 Thread Taylor Simpson
Extend the analyze_ functions for HVX vector and predicate writes Remove calls to ctx_log_vreg_write[_pair] from gen_tcg_funcs.py During gen_start_packet, reload the predicated HVX registers into fugure_VRegs and tmp_VRegs Signed-off-by: Taylor Simpson --- target/hexagon/translate.h

RE: [PATCH] target/hexagon/idef-parser: Remove unused code paths

2023-01-31 Thread Taylor Simpson
> -Original Message- > From: Anton Johansson > Sent: Tuesday, January 31, 2023 4:32 PM > To: qemu-devel@nongnu.org > Cc: a...@rev.ng; Taylor Simpson ; Brian Cain > ; Michael Lambert > Subject: [PATCH] target/hexagon/idef-parser: Remove unused code paths > >

RE: [PATCH v5 03/14] Hexagon (target/hexagon) Add overrides for endloop1/endloop01

2023-02-01 Thread Taylor Simpson
> -Original Message- > From: Anton Johansson > Sent: Wednesday, February 1, 2023 6:30 AM > To: Taylor Simpson ; qemu-devel@nongnu.org > Cc: richard.hender...@linaro.org; phi...@linaro.org; a...@rev.ng; Brian Cain > ; Matheus Bernardino (QUIC) > > Subject: Re:

RE: [PATCH] linux-user/hexagon: Use generic target_stat64 structure

2021-11-17 Thread Taylor Simpson
> -Original Message- > From: Richard Henderson > Sent: Wednesday, November 17, 2021 1:18 AM > To: Philippe Mathieu-Daudé ; qemu-devel@nongnu.org > Cc: Laurent Vivier ; Taylor Simpson > > Subject: Re: [PATCH] linux-user/hexagon: Use generic target_stat64 > struc

RE: [PATCH-for-6.2? v2 2/3] misc: Spell QEMU all caps

2021-11-19 Thread Taylor Simpson
i ; Vladimir > Sementsov-Ogievskiy ; Eduardo Habkost > ; Taylor Simpson ; > k...@vger.kernel.org; Paolo Bonzini ; Kevin Wolf > ; Philippe Mathieu-Daudé > Subject: [PATCH-for-6.2? v2 2/3] misc: Spell QEMU all caps > > QEMU should be written all caps. > > Normally checkpatc

RE: [PATCH v2] Hexagon (decode): look for pkts with multiple insns at the same slot

2023-05-09 Thread Taylor Simpson
> -Original Message- > From: Matheus Tavares Bernardino > Sent: Monday, May 8, 2023 8:37 AM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson > Subject: [PATCH v2] Hexagon (decode): look for pkts with multiple insns at > the same slot > > Each slot in a p

RE: [PATCH v2] Hexagon (decode): look for pkts with multiple insns at the same slot

2023-05-09 Thread Taylor Simpson
> -Original Message- > From: Taylor Simpson > Sent: Tuesday, May 9, 2023 11:46 AM > To: Matheus Tavares Bernardino ; qemu- > de...@nongnu.org > Subject: RE: [PATCH v2] Hexagon (decode): look for pkts with multiple insns > at the same slot > > > > >

RE: [PATCH v3 3/6] Hexagon: add core gdbstub xml data for LLDB

2023-05-09 Thread Taylor Simpson
> -Original Message- > From: Matheus Tavares Bernardino > Sent: Thursday, May 4, 2023 10:38 AM > To: qemu-devel@nongnu.org > Cc: alex.ben...@linaro.org; Brian Cain ; > f4...@amsat.org; peter.mayd...@linaro.org; Taylor Simpson > ; phi...@linaro.org; > rich

RE: [PATCH] Remove test_vshuff from hvx_misc tests

2023-05-09 Thread Taylor Simpson
> -Original Message- > From: Marco Liebel (QUIC) > Sent: Tuesday, May 9, 2023 1:43 PM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson ; Brian Cain > ; Matheus Bernardino (QUIC) > ; Marco Liebel (QUIC) > > Subject: [PATCH] Remove test_vshuff from hvx_misc te

RE: [PATCH] Remove test_vshuff from hvx_misc tests

2023-05-09 Thread Taylor Simpson
> -Original Message- > From: Brian Cain > Sent: Tuesday, May 9, 2023 3:01 PM > To: Taylor Simpson ; Marco Liebel (QUIC) > ; qemu-devel@nongnu.org > Cc: Matheus Bernardino (QUIC) > Subject: RE: [PATCH] Remove test_vshuff from hvx_misc tests > > &

RE: [PATCH v2 0/9] Hexagon (target/hexagon) New architecture support

2023-05-10 Thread Taylor Simpson
> -Original Message- > From: Taylor Simpson > Sent: Saturday, April 29, 2023 2:57 PM > To: Richard Henderson ; qemu- > de...@nongnu.org > Cc: phi...@linaro.org; a...@rev.ng; a...@rev.ng; Brian Cain > ; Matheus Bernardino (QUIC) > > Subject: RE: [PATCH v2 0

RE: [PATCH 1/2] Hexagon (iclass): update J4_hintjumpr slot constraints

2023-05-11 Thread Taylor Simpson
> -Original Message- > From: Matheus Tavares Bernardino > Sent: Friday, January 13, 2023 7:39 AM > To: qemu-devel@nongnu.org > Cc: Taylor Simpson ; Brian Cain > ; richard.hender...@linaro.org > Subject: [PATCH 1/2] Hexagon (iclass): update J4_hintjumpr slot constra

[PULL 03/44] Hexagon (tests/tcg/hexagon) Add v68 scalar tests

2023-05-12 Thread Taylor Simpson
Signed-off-by: Taylor Simpson Reviewed-by: Anton Johansson Message-Id: <20230427224057.3766963-4-tsimp...@quicinc.com> --- tests/tcg/hexagon/v68_scalar.c| 186 ++ tests/tcg/hexagon/Makefile.target | 2 + 2 files changed, 188 insertions(+) create mode

[PULL 06/44] Hexagon (target/hexagon) Add v69 HVX instructions

2023-05-12 Thread Taylor Simpson
The following instructions are added V6_vasrvuhubrndsat V6_vasrvuhubsat V6_vasrvwuhrndsat V6_vasrvwuhsat V6_vassign_tmp V6_vcombine_tmp V6_vmpyuhvs Signed-off-by: Taylor Simpson Reviewed-by: Anton Johansson Message-Id: <20230427224057.3766963-7-tsimp...@quicinc.

[PULL 36/44] Hexagon (iclass): update J4_hintjumpr slot constraints

2023-05-12 Thread Taylor Simpson
instructions at the same slot during decoding time and throw an invalid packet exception. That will be done in the subsequent commit. Signed-off-by: Matheus Tavares Bernardino Reviewed-by: Taylor Simpson Signed-off-by: Taylor Simpson Message-Id: <0fcd8293642c6324119fbbab44741164b

[PULL 08/44] Hexagon (target/hexagon) Add v73 scalar instructions

2023-05-12 Thread Taylor Simpson
The following instructions are added J2_callrh J2_junprh Signed-off-by: Taylor Simpson Reviewed-by: Anton Johansson Message-Id: <20230427224057.3766963-9-tsimp...@quicinc.com> --- target/hexagon/gen_tcg.h | 4 target/hexagon/attribs_def.h.inc | 1 +

[PULL 27/44] Hexagon (target/hexagon) Move new_pred_value to DisasContext

2023-05-12 Thread Taylor Simpson
: Taylor Simpson Reviewed-by: Richard Henderson Message-Id: <20230427230012.3800327-19-tsimp...@quicinc.com> --- target/hexagon/cpu.h| 1 - target/hexagon/gen_tcg.h| 12 ++-- target/hexagon/translate.h | 2 +- target/h

[PULL 14/44] Hexagon (target/hexagon) Add overrides for clr[tf]new

2023-05-12 Thread Taylor Simpson
These instructions have implicit reads from p0, so we don't want them in helpers when idef-parser is off. Signed-off-by: Taylor Simpson Reviewed-by: Richard Henderson Message-Id: <20230427230012.3800327-6-tsimp...@quicinc.com> --- target/hexagon/gen_tcg.h | 16 tar

[PULL 04/44] Hexagon (target/hexagon) Add v68 HVX instructions

2023-05-12 Thread Taylor Simpson
The following instructions are added V6_v6mpyvubs10_vxx V6_v6mpyhubs10_vxx V6_v6mpyvubs10 V6_v6mpyhubs10 Signed-off-by: Taylor Simpson Reviewed-by: Anton Johansson Message-Id: <20230427224057.3766963-5-tsimp...@quicinc.com> --- target/hexagon/mmvec/macros.h

[PULL 01/44] Hexagon (target/hexagon) Add support for v68/v69/v71/v73

2023-05-12 Thread Taylor Simpson
Add support for the ELF flags Move target/hexagon/cpu.[ch] to be v73 Change the compiler flag used by "make check-tcg" The decbin instruction is removed in Hexagon v73, so check the version before trying to compile the instruction. Signed-off-by: Taylor Simpson Reviewed-by: Anton

[PULL 07/44] Hexagon (tests/tcg/hexagon) Add v69 HVX tests

2023-05-12 Thread Taylor Simpson
The following instructions are tested V6_vasrvuhubrndsat V6_vasrvuhubsat V6_vasrvwuhrndsat V6_vasrvwuhsat V6_vassign_tmp V6_vcombine_tmp V6_vmpyuhvs Signed-off-by: Taylor Simpson Reviewed-by: Anton Johansson Message-Id: <20230427224057.3766963-8-tsimp...@quicinc.

[PULL 38/44] Remove test_vshuff from hvx_misc tests

2023-05-12 Thread Taylor Simpson
Reviewed-by: Taylor Simpson Tested-by: Taylor Simpson Signed-off-by: Taylor Simpson Message-Id: <20230509184231.2467626-1-quic_mlie...@quicinc.com> --- tests/tcg/hexagon/hvx_misc.c | 45 1 file changed, 45 deletions(-) diff --git a/tests/tcg/hexagon/hvx_mi

[PULL 23/44] Hexagon (target/hexagon) Short-circuit more HVX single instruction packets

2023-05-12 Thread Taylor Simpson
ction is an HVX instruction with a generated helper. We add an override for V6_vcombine so that it can be short-circuited along with a test case in tests/tcg/hexagon/hvx_misc.c Signed-off-by: Taylor Simpson Reviewed-by: Richard Henderson Message-Id: <20230427230012.3800327-15-tsimp...@qui

[PULL 21/44] Hexagon (target/hexagon) Short-circuit packet predicate writes

2023-05-12 Thread Taylor Simpson
rly-exit from gen_pred_writes. Signed-off-by: Taylor Simpson Reviewed-by: Richard Henderson Message-Id: <20230427230012.3800327-13-tsimp...@quicinc.com> --- target/hexagon/genptr.h| 1 + target/hexagon/genptr.c| 15 --- target/hexagon/translate.c | 14 +++---

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

2023-05-12 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> ---

<    1   2   3   4   5   6   7   8   9   10   >