diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2022-02-09 16:57:03 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2022-02-09 16:57:03 +0000 |
commit | 958448a9441ee54e012c67cfc3cf88083f3d0e4a (patch) | |
tree | 2c19072e5faf07112e08d9e0fd8145080812cc27 /gcc/go | |
parent | fabc5d9bceb0aec8db2147eb50ae375c711eea90 (diff) | |
download | gcc-958448a9441ee54e012c67cfc3cf88083f3d0e4a.zip gcc-958448a9441ee54e012c67cfc3cf88083f3d0e4a.tar.gz gcc-958448a9441ee54e012c67cfc3cf88083f3d0e4a.tar.bz2 |
aarch64: Generalise adjacency check for load_pair_lanes
This patch generalises the load_pair_lanes<mode> guard so that
it uses aarch64_check_consecutive_mems to check for consecutive
mems. It also allows the pattern to be used for STRICT_ALIGNMENT
targets if the alignment is high enough.
The main aim is to avoid an inline test, for the sake of a later patch
that needs to repeat it. Reusing aarch64_check_consecutive_mems seemed
simpler than writing an entirely new function.
gcc/
* config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
Declare.
* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
aarch64_mergeable_load_pair_p instead of inline check.
* config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
(aarch64_check_consecutive_mems): Allow the reversed parameter
to be null.
(aarch64_mergeable_load_pair_p): New function.
Diffstat (limited to 'gcc/go')
0 files changed, 0 insertions, 0 deletions