https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123767
Alfie Richards <alfierichards at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |aarch64
--- Comment #1 from Alfie Richards <alfierichards at gcc dot gnu.org> ---
Bisected to:
commit 3c2b6906fb49401e0fe41b810e4396b72b969267
Author: Robin Dapp <[email protected]>
AuthorDate: Mon Dec 15 11:20:54 2025 +0100
Commit: Robin Dapp <[email protected]>
CommitDate: Fri Dec 19 19:41:53 2025 +0100
vect: Fix scale-only pass in vect_gather_scatter_fn_p [PR123118].
In the process of refactoring the gather/scatter rework this likely got
lost. In the "third pass" we look for a configuration with a smaller
scale and a larger offset type with the same signedness. We want to be
able to multiply the offset by the new scale but not change the offset
sign. What we actually checked is whether a converted offset type was
supported without setting *supported_offset_vectype.
This patch removes the check for the offset type change and replaces it
with a TYPE_SIGN match.
PR tree-optimization/123118
gcc/ChangeLog:
* tree-vect-data-refs.cc (vect_gather_scatter_fn_p): Check that
the type sign is equal.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/autovec/pr123118.C: New test.