[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 #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-16 branch has been updated by Jeff Law <[email protected]>:

https://gcc.gnu.org/g:14101132aa3baf0affe755f676bee1eb691cb85f

commit r16-9525-g14101132aa3baf0affe755f676bee1eb691cb85f
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.

    (cherry picked from commit 5b0d2e93e1ad39ee6f731abeee2e8846bcf5da93)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.