aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2022-02-09 16:57:03 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2022-02-09 16:57:03 +0000
commit958448a9441ee54e012c67cfc3cf88083f3d0e4a (patch)
tree2c19072e5faf07112e08d9e0fd8145080812cc27 /gcc/c
parentfabc5d9bceb0aec8db2147eb50ae375c711eea90 (diff)
downloadgcc-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/c')
0 files changed, 0 insertions, 0 deletions