diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2017-06-29 09:21:57 +0000 |
---|---|---|
committer | Michael Collison <collison@gcc.gnu.org> | 2017-06-29 09:21:57 +0000 |
commit | 7813b280435f2e19c53df9f8b04a3d28bb561aa8 (patch) | |
tree | 98563d3d1aa4ffabc13c0d3178f3f9ad5dfe9233 /gcc/tree-ssa-loop-niter.c | |
parent | 696bafe61327dbf2ce2dee7262af8f18b23fcfa1 (diff) | |
download | gcc-7813b280435f2e19c53df9f8b04a3d28bb561aa8.zip gcc-7813b280435f2e19c53df9f8b04a3d28bb561aa8.tar.gz gcc-7813b280435f2e19c53df9f8b04a3d28bb561aa8.tar.bz2 |
re PR target/70119 (AArch64 should take advantage of implicit truncation of variable shift amount without defining SHIFT_COUNT_TRUNCATED)
2017-06-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Michael Collison <michael.collison@arm.com>
PR target/70119
* config/aarch64/aarch64.md (*aarch64_<optab>_reg_<mode>3_mask1):
New pattern.
(*aarch64_reg_<mode>3_neg_mask2): New pattern.
(*aarch64_reg_<mode>3_minus_mask): New pattern.
(*aarch64_<optab>_reg_di3_mask2): New pattern.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Account for cost
of shift when the shift amount is masked with constant equal to
the size of the mode.
* config/aarch64/predicates.md (subreg_lowpart_operator): New
predicate.
2017-06-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Michael Collison <michael.collison@arm.com>
PR target/70119
* gcc.target/aarch64/var_shift_mask_1.c: New test.
Co-Authored-By: Michael Collison <michael.collison@arm.com>
From-SVN: r249774
Diffstat (limited to 'gcc/tree-ssa-loop-niter.c')
0 files changed, 0 insertions, 0 deletions