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  <apin...@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" ""))]
   ""

Reply via email to