[Bug target/126334] riscv: Scatter uses unordered load variants.
"cvs-commit at gcc dot gnu.org via Gcc-bugs" <[email protected]>
| Newsgroups | gmane.comp.gcc.bugs |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126334 --- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Robin Dapp <[email protected]>: https://gcc.gnu.org/g:5b0d2e93e1ad39ee6f731abeee2e8846bcf5da93 commit r17-2694-g5b0d2e93e1ad39ee6f731abeee2e8846bcf5da93 Author: Robin Dapp <[email protected]> Date: Tue Jul 21 10:37:58 2026 +0200 RISC-V: Use ordered scatter variants. The vectorizer expects scatters to write in an ordered fashion. Only the ordered indexed stores offer this, so use them instead of the unordered ones. PR target/126334 gcc/ChangeLog: * config/riscv/riscv-v.cc (get_gather_scatter_code): Use ordered indexed stores. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-1.c: Adjust test expectations. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-10.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-11.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-12.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-2.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-3.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-4.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-5.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-6.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-7.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-8.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-9.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-1.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-10.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-11.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-2.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-3.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-4.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-5.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-6.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-7.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-8.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-9.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-1.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-10.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-2.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-3.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-4.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-5.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-6.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-7.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-8.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-9.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-1.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-10.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-2.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-3.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-4.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-5.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-6.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-7.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-8.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-9.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-1.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-10.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-2.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-4.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-5.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-6.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-7.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-8.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-9.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-1.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-10.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-2.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-3.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-4.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-5.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-6.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-7.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-8.c: Ditto. * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-9.c: Ditto.