Hi Dominic,

> -----Original Message-----
> From: Dominic P <[email protected]>
> Sent: 29 September 2026 19:35
> To: [email protected]
> Cc: Richard Biener <[email protected]>; Richard Sandiford
> <[email protected]>; Tamar Christina
> <[email protected]>; Robin Dapp <[email protected]>
> Subject: [PATCH v2 0/2] vect: Do not let grouped gather offsets wrap
> 
> As Tamar suggested, v2 reuses the offset check of
> vect_truncate_gather_scatter_offset for grouped gathers (patch 2), so the
> count is also bounded by max_loop_iterations and the multiply goes through
> wi::mul.
> 
> That bound does not hold when peeling for alignment is done by masking:
> the active lanes move up by the skipped iterations, and
> vect_truncate_gather_scatter_offset already miscompiles the tests in
> patch 1 (since GCC 11).  Patch 1 fixes that first.
> 
> OK for trunk?
> 
> Dominic P (2):
>   vect: Account for peeling by masking in strided gather offsets
>   vect: Do not let grouped gather offsets wrap

Am I missing something? I don't see the patches on the list.

Thanks,
Tamar
> 
>  .../gcc.dg/vect/vect-strided-neg-step-1.c     | 82 ++++++++++++++++++
>  .../aarch64/sve/strided_grouped_1.c           |  8 ++
>  .../aarch64/sve/strided_grouped_1_run.c       |  4 +
>  .../gcc.target/aarch64/sve/strided_load_9.c   | 16 ++++
>  .../gcc.target/aarch64/sve/strided_store_8.c  | 16 ++++
>  gcc/tree-vect-stmts.cc                        | 83 +++++++++++--------
>  6 files changed, 175 insertions(+), 34 deletions(-)
>  create mode 100644 gcc/testsuite/gcc.dg/vect/vect-strided-neg-step-1.c
>  create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve/strided_grouped_1.c
>  create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve/strided_grouped_1_run.c
>  create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/strided_load_9.c
>  create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/strided_store_8.c
> 
> --
> 2.55.0

Reply via email to