aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorJackson Woodruff <jackson.woodruff@arm.com>2018-05-22 15:37:11 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2018-05-22 15:37:11 +0000
commit9b56ec1111632f4e9a47ba5388d7a65c19593f71 (patch)
tree8c93422e81794ccaa08bf457f8cc40d08cd542a8 /gcc/builtins.c
parentdfe1da2381373d3b905053166d49fbaf8b0082e6 (diff)
downloadgcc-9b56ec1111632f4e9a47ba5388d7a65c19593f71.zip
gcc-9b56ec1111632f4e9a47ba5388d7a65c19593f71.tar.gz
gcc-9b56ec1111632f4e9a47ba5388d7a65c19593f71.tar.bz2
[AArch64, patch] Refactor of aarch64-ldpstp
This patch removes a lot of duplicated code in aarch64-ldpstp.md. The patterns that did not previously generate a base register now do not check for aarch64_mem_pair_operand in the pattern. This has been extracted to a check in aarch64_operands_ok_for_ldpstp. All patterns in the file used to have explicit switching code to swap loads and stores that were in the wrong order. This has been extracted into aarch64_operands_ok_for_ldpstp as a final operation after all the checks have been performed. 2018-05-22 Jackson Woodruff <jackson.woodruff@arm.com> Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/aarch64/aarch64-ldpstp.md: Replace uses of aarch64_mem_pair_operand with memory_operand and delete operand swapping code. * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Add check for legitimate_address. (aarch64_gen_adjusted_ldpstp): Swap operands where appropriate. (aarch64_swap_ldrstr_operands): New. * config/aarch64/aarch64-protos.h (aarch64_swap_ldrstr_operands): Define prototype. Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com> From-SVN: r260539
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions