This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r278347 - in /trunk/gcc: ChangeLog config/aarch...
- From: rsandifo at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Sat, 16 Nov 2019 11:30:46 -0000
- Subject: r278347 - in /trunk/gcc: ChangeLog config/aarch...
Author: rsandifo
Date: Sat Nov 16 11:30:46 2019
New Revision: 278347
URL: https://gcc.gnu.org/viewcvs?rev=278347&root=gcc&view=rev
Log:
[AArch64] Add scatter stores for partial SVE modes
This patch adds support for scatter stores of partial vectors,
where the vector base or offset elements can be wider than the
elements being stored.
2019-11-16 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* config/aarch64/aarch64-sve.md
(scatter_store<SVE_FULL_SD:mode><v_int_equiv>): Extend to...
(scatter_store<SVE_24:mode><v_int_container>): ...this.
(mask_scatter_store<SVE_FULL_S:mode><v_int_equiv>): Extend to...
(mask_scatter_store<SVE_4:mode><v_int_equiv>): ...this.
(mask_scatter_store<SVE_FULL_D:mode><v_int_equiv>): Extend to...
(mask_scatter_store<SVE_2:mode><v_int_equiv>): ...this.
(*mask_scatter_store<mode><v_int_container>_<su>xtw_unpacked): New
pattern.
(*mask_scatter_store<SVE_FULL_D:mode><v_int_equiv>_sxtw): Extend to...
(*mask_scatter_store<SVE_2:mode><v_int_equiv>_sxtw): ...this.
(*mask_scatter_store<SVE_FULL_D:mode><v_int_equiv>_uxtw): Extend to...
(*mask_scatter_store<SVE_2:mode><v_int_equiv>_uxtw): ...this.
gcc/testsuite/
* gcc.target/aarch64/sve/scatter_store_1.c (TEST_LOOP): Start at 0.
(TEST_ALL): Add tests for 8-bit and 16-bit elements.
* gcc.target/aarch64/sve/scatter_store_2.c: Update accordingly.
* gcc.target/aarch64/sve/scatter_store_3.c (TEST_LOOP): Start at 0.
(TEST_ALL): Add tests for 8-bit and 16-bit elements.
* gcc.target/aarch64/sve/scatter_store_4.c: Update accordingly.
* gcc.target/aarch64/sve/scatter_store_5.c (TEST_LOOP): Start at 0.
(TEST_ALL): Add tests for 8-bit, 16-bit and 32-bit elements.
* gcc.target/aarch64/sve/scatter_store_8.c: New test.
* gcc.target/aarch64/sve/scatter_store_9.c: Likewise.
Added:
trunk/gcc/testsuite/gcc.target/aarch64/sve/scatter_store_8.c
trunk/gcc/testsuite/gcc.target/aarch64/sve/scatter_store_9.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64-sve.md
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/aarch64/sve/scatter_store_1.c
trunk/gcc/testsuite/gcc.target/aarch64/sve/scatter_store_2.c
trunk/gcc/testsuite/gcc.target/aarch64/sve/scatter_store_3.c
trunk/gcc/testsuite/gcc.target/aarch64/sve/scatter_store_4.c
trunk/gcc/testsuite/gcc.target/aarch64/sve/scatter_store_5.c