aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-08-14 08:58:40 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-08-14 08:58:40 +0000
commita229966c9c76afe0cf18c566a3c13ddde3878288 (patch)
tree36e43f5e15e510d575e2979b9a8436c4e5950ea7 /gcc/builtins.c
parent917d611c56a58c38f2b6a7ba808d7a7ae7ed145c (diff)
downloadgcc-a229966c9c76afe0cf18c566a3c13ddde3878288.zip
gcc-a229966c9c76afe0cf18c566a3c13ddde3878288.tar.gz
gcc-a229966c9c76afe0cf18c566a3c13ddde3878288.tar.bz2
[AArch64] Use SVE ADR to optimise shift-add sequences
This patch uses SVE ADR to optimise shift-and-add and uxtw-and-add sequences. 2019-08-14 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/predicates.md (const_1_to_3_operand): New predicate. * config/aarch64/aarch64-sve.md (*aarch64_adr_uxtw) (*aarch64_adr<mode>_shift, *aarch64_adr_shift_uxtw): New patterns. gcc/testsuite/ * gcc.target/aarch64/sve/adr_1.c: New test. * gcc.target/aarch64/sve/adr_1_run.c: Likewise. * gcc.target/aarch64/sve/adr_2.c: Likewise. * gcc.target/aarch64/sve/adr_2_run.c: Likewise. * gcc.target/aarch64/sve/adr_3.c: Likewise. * gcc.target/aarch64/sve/adr_3_run.c: Likewise. * gcc.target/aarch64/sve/adr_4.c: Likewise. * gcc.target/aarch64/sve/adr_4_run.c: Likewise. * gcc.target/aarch64/sve/adr_5.c: Likewise. * gcc.target/aarch64/sve/adr_5_run.c: Likewise. From-SVN: r274436
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions