OSDN Git Service

* config/rs6000/predicates.md (indexed_or_indirect_address): New.
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Aug 2005 14:21:52 +0000 (14:21 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Aug 2005 14:21:52 +0000 (14:21 +0000)
* config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
change predicate to indexed_or_indirect_address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102950 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/predicates.md
gcc/config/rs6000/rs6000.md

index 8092a46..567c492 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-10  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/predicates.md (indexed_or_indirect_address): New.
+       * config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
+       change predicate to indexed_or_indirect_address.
+
 2005-08-10  Richard Sandiford  <richard@codesourcery.com>
 
        * config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
index a5bad7b..68c824a 100644 (file)
                    || GET_CODE (XEXP (XEXP (op, 0), 1)) != CONST_INT
                    || INTVAL (XEXP (XEXP (op, 0), 1)) % 4 == 0")))
 
+;; Return 1 if the operand is an indexed or indirect address.
+(define_predicate "indexed_or_indirect_address"
+  (and (match_operand 0 "address_operand")
+       (match_test "REG_P (op)
+                   || (GET_CODE (op) == PLUS
+                       && REG_P (XEXP (op, 0)) 
+                       && REG_P (XEXP (op, 1)))")))
+
 ;; Used for the destination of the fix_truncdfsi2 expander.
 ;; If stfiwx will be used, the result goes to memory; otherwise,
 ;; we're going to emit a store and a load of a subreg, so the dest is a
index 3cc613a..05ff9bd 100644 (file)
 }")
 
 (define_insn "prefetch"
-  [(prefetch (match_operand:V4SI 0 "address_operand" "p")
+  [(prefetch (match_operand 0 "indexed_or_indirect_address" "p")
             (match_operand:SI 1 "const_int_operand" "n")
             (match_operand:SI 2 "const_int_operand" "n"))]
   "TARGET_POWERPC"