aarch64: Enable aarch64_load to use UNSPEC_PRED_X loads
This patch will enable the use of loads using the UNSPEC_PRED_X enum in the aarch64_load pattern, thus enabling combine to combine such loads with extends. gcc/ChangeLog: 2021-05-19 Andre Vieira <andre.simoesdiasvieira@arm.com> * config/aarch64/iterators.md (SVE_PRED_LOAD): New iterator. (pred_load): New int attribute. * config/aarch64/aarch64-sve.md (aarch64_load_<ANY_EXTEND:optab><SVE_HSDI:mode><SVE_PARTIAL_I:mode>): Use SVE_PRED_LOAD enum iterator and corresponding pred_load attribute. * config/aarch64/aarch64-sve-builtins-base.cc (expand): Update call to code_for_aarch64_load. gcc/testsuite/ChangeLog: 2021-05-19 Andre Vieira <andre.simoesdiasvieira@arm.com> * gcc.target/aarch64/sve/logical_unpacked_and_2.c: Change scan-assembly-times to scan-assembly not for superfluous uxtb. * gcc.target/aarch64/sve/logical_unpacked_and_3.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_and_4.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_and_6.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_and_7.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_eor_2.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_eor_3.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_eor_4.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_eor_6.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_eor_7.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_orr_2.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_orr_3.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_orr_4.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_orr_6.c: Likewise. * gcc.target/aarch64/sve/logical_unpacked_orr_7.c: Likewise. * gcc.target/aarch64/sve/ld1_extend.c: New test.
Showing
- gcc/config/aarch64/aarch64-sve-builtins-base.cc 1 addition, 1 deletiongcc/config/aarch64/aarch64-sve-builtins-base.cc
- gcc/config/aarch64/aarch64-sve.md 2 additions, 2 deletionsgcc/config/aarch64/aarch64-sve.md
- gcc/config/aarch64/iterators.md 4 additions, 0 deletionsgcc/config/aarch64/iterators.md
- gcc/testsuite/gcc.target/aarch64/sve/ld1_extend.c 10 additions, 0 deletionsgcc/testsuite/gcc.target/aarch64/sve/ld1_extend.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_and_2.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_and_2.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_and_3.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_and_3.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_and_4.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_and_4.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_and_6.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_and_6.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_and_7.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_and_7.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_eor_2.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_eor_2.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_eor_3.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_eor_3.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_eor_4.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_eor_4.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_eor_6.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_eor_6.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_eor_7.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_eor_7.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_orr_2.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_orr_2.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_orr_3.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_orr_3.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_orr_4.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_orr_4.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_orr_6.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_orr_6.c
- gcc/testsuite/gcc.target/aarch64/sve/logical_unpacked_orr_7.c 1 addition, 1 deletion...testsuite/gcc.target/aarch64/sve/logical_unpacked_orr_7.c
Loading
Please register or sign in to comment