[AArch64] Accept more addressing modes for PRFM
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Thu, 4 May 2017 16:14:37 +0000 (16:14 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Thu, 4 May 2017 16:14:37 +0000 (16:14 +0000)
commit9bf2f779045072c0db1e57f67fbc864caf212585
tree16f7572235259d3af564038314b1a61a4227c071
parent928351c3ef8422a1733ce5f19fddf2da146a6a32
[AArch64] Accept more addressing modes for PRFM

* config/aarch64/aarch64.md (prefetch); Adjust predicate and
constraint on operand 0 to allow more general addressing modes.
Adjust output template.
* config/aarch64/aarch64.c (aarch64_address_valid_for_prefetch_p):
New function.
* config/aarch64/aarch64-protos.h
(aarch64_address_valid_for_prefetch_p): Declare prototype.
* config/aarch64/constraints.md (Dp): New address constraint.
* config/aarch64/predicates.md (aarch64_prefetch_operand): New
predicate.

* gcc.target/aarch64/prfm_imm_offset_1.c: New test.

From-SVN: r247603
gcc/ChangeLog
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/constraints.md
gcc/config/aarch64/predicates.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/prfm_imm_offset_1.c [new file with mode: 0644]