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
