[AArch64] Accept more addressing modes for PRFM
commit4328bd71cf51d0c25bfe0435763d1a33db1f13ef
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 May 2017 16:14:37 +0000 (4 16:14 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 May 2017 16:14:37 +0000 (4 16:14 +0000)
tree16f7572235259d3af564038314b1a61a4227c071
parentd87051b4a155e4b0c4af64032bfbb2e82e9b2d6f
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247603 138bc75d-0d04-0410-961f-82ee72b054a4
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]