predicates.md (indexed_or_indirect_address): New.

* 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.

From-SVN: r102950
This commit is contained in:
David Edelsohn 2005-08-10 14:21:52 +00:00 committed by David Edelsohn
parent 9bd0510849
commit 11aac14fce
3 changed files with 15 additions and 1 deletions

View 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.

View File

@ -369,6 +369,14 @@
|| 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

View File

@ -14016,7 +14016,7 @@
}")
(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"