]> git.ipfire.org Git - thirdparty/gcc.git/commit
2017-06-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
authorcollison <collison@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Jun 2017 09:21:57 +0000 (09:21 +0000)
committercollison <collison@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Jun 2017 09:21:57 +0000 (09:21 +0000)
commitac6742ef97d6d6c8527188eddf633575f501b9b6
tree98563d3d1aa4ffabc13c0d3178f3f9ad5dfe9233
parent3b8e3df6f9f4e0fb89a9271b60529da80f966568
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249774 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/predicates.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/var_shift_mask_1.c [new file with mode: 0644]