re PR target/88834 ([SVE] Poor addressing mode choices for LD2 and ST2)
authorKugan Vivekanandarajah <kuganv@linaro.org>
Thu, 13 Jun 2019 03:18:54 +0000 (03:18 +0000)
committerKugan Vivekanandarajah <kugan@gcc.gnu.org>
Thu, 13 Jun 2019 03:18:54 +0000 (03:18 +0000)
commitfa9863e7d34ecd011ae75083be2ae124e5831b64
tree77781de634a5011cf2a1275a44f8d8f3521f0e79
parentdd550c996578ea7e94f3a59e57f24636186fbb95
re PR target/88834 ([SVE] Poor addressing mode choices for LD2 and ST2)

gcc/ChangeLog:

2019-06-13  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>

PR target/88834
* tree-ssa-loop-ivopts.c (get_mem_type_for_internal_fn): Handle
IFN_MASK_LOAD_LANES and IFN_MASK_STORE_LANES.
(get_alias_ptr_type_for_ptr_address): Likewise.
(add_iv_candidate_for_use): Add scaled index candidate if useful.
* tree-ssa-address.c (preferred_mem_scale_factor): New.
* config/aarch64/aarch64.c (aarch64_classify_address): Relax
allow_reg_index_p.

gcc/testsuite/ChangeLog:

2019-06-13  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>

PR target/88834
* gcc.target/aarch64/pr88834.c: New test.
* gcc.target/aarch64/sve/struct_vect_1.c: Adjust.
* gcc.target/aarch64/sve/struct_vect_14.c: Likewise.
* gcc.target/aarch64/sve/struct_vect_15.c: Likewise.
* gcc.target/aarch64/sve/struct_vect_16.c: Likewise.
* gcc.target/aarch64/sve/struct_vect_17.c: Likewise.
* gcc.target/aarch64/sve/struct_vect_7.c: Likewise.

From-SVN: r272232
13 files changed:
gcc/ChangeLog
gcc/config/aarch64/aarch64.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/pr88834.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/struct_vect_1.c
gcc/testsuite/gcc.target/aarch64/sve/struct_vect_14.c
gcc/testsuite/gcc.target/aarch64/sve/struct_vect_15.c
gcc/testsuite/gcc.target/aarch64/sve/struct_vect_16.c
gcc/testsuite/gcc.target/aarch64/sve/struct_vect_17.c
gcc/testsuite/gcc.target/aarch64/sve/struct_vect_7.c
gcc/tree-ssa-address.c
gcc/tree-ssa-address.h
gcc/tree-ssa-loop-ivopts.c