This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[AArch64] Fix Prefetch ICE
- From: "Hurugalawadi, Naveen" <Naveen dot Hurugalawadi at caviumnetworks dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: "Pinski, Andrew" <Andrew dot Pinski at caviumnetworks dot com>
- Date: Thu, 24 Sep 2015 06:47:05 +0000
- Subject: [AArch64] Fix Prefetch ICE
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp dot mailfrom=Naveen dot Hurugalawadi at caviumnetworks dot com;
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:23
Hi,
Please find attached the patch that fixes an ICE for prefetch.
The predicate is too lose for the constraints. Hence, the patch tightens
up the predicate to be exactly as constraint allows, avoids a “reload”
and allows better code generation.
Submitted on behalf of Andrew Pinski.
Thanks,
Naveen
2015-09-24 Andrew Pinski <apinski@cavium.com>
ChangeLog
* config/aarch64/aarch64.md (prefetch):
Change the predicate of operand 0 to register_operand.
Index: config/aarch64/aarch64.md
===================================================================
--- config/aarch64/aarch64.md (revision 228072)
+++ config/aarch64/aarch64.md (working copy)
@@ -466,7 +466,7 @@
)
(define_insn "prefetch"
- [(prefetch (match_operand:DI 0 "address_operand" "r")
+ [(prefetch (match_operand:DI 0 "register_operand" "r")
(match_operand:QI 1 "const_int_operand" "")
(match_operand:QI 2 "const_int_operand" ""))]
""