r279173 - in /trunk/gcc: ChangeLog config/aarch...

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Tue Dec 10 16:32:00 GMT 2019


Author: rsandifo
Date: Tue Dec 10 16:32:40 2019
New Revision: 279173

URL: https://gcc.gnu.org/viewcvs?rev=279173&root=gcc&view=rev
Log:
[AArch64] Fix INDEX patterns for partial VNx2 modes

The INDEX patterns handle partial modes by choosing the container
size rather than the element size, so that the number of lanes
(and thus number of additions) matches the mode.  This means that
all VNx4 modes use .s and all VNx2 modes use .d, etc.

When adding this, I'd forgotten that the choice between Wn and Xn
registers would need to be updated to use the container size too.
For partial VNx2s, we were using .d containers with Wn rather than
Xn source registers.

2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* config/aarch64/iterators.md (vccore): New iterator.
	* config/aarch64/aarch64-sve.md (vec_series<mode>): Use it instead
	of vwcore.
	(*vec_series<mode>_plus): Likewise.

gcc/testsuite/
	* gcc.target/aarch64/sve/mixed_size_6.c: New test.

Added:
    trunk/gcc/testsuite/gcc.target/aarch64/sve/mixed_size_6.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/aarch64/aarch64-sve.md
    trunk/gcc/config/aarch64/iterators.md
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list