[Bug target/126334] riscv: Scatter uses unordered load variants.

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Aug 11 13:45:34 GMT 2026


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126334

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-15 branch has been updated by Jeff Law <law@gcc.gnu.org>:

https://gcc.gnu.org/g:7a5e4c2325ab22a096abb6127e4c9a1daadf3d3f

commit r15-11470-g7a5e4c2325ab22a096abb6127e4c9a1daadf3d3f
Author: Robin Dapp <robin.dapp@oss.qualcomm.com>
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)


More information about the Gcc-bugs mailing list