This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
patch applied: SH *_address_operand predicates are special
- From: Joern RENNECKE <joern dot rennecke at st dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 15 Mar 2006 15:54:11 +0000
- Subject: patch applied: SH *_address_operand predicates are special
Regression tested in i686-pc-linux-gnu X sh-elf
2006-03-13 J"orn Rennecke <joern.rennecke@st.com>
* config/sh/predicates.md (cache_address_operand): Special.
(ua_address_operand): Likewise.
Index: config/sh/predicates.md
===================================================================
/usr/bin/diff -p -d -F^( -u -L config/sh/predicates.md (revision 111999) -L config/sh/predicates.md (working copy) config/sh/.svn/text-base/predicates.md.svn-base config/sh/predicates.md
--- config/sh/predicates.md (revision 111999)
+++ config/sh/predicates.md (working copy)
@@ -216,9 +216,10 @@ (define_predicate "binary_logical_operat
(and (match_code "and,ior,xor")
(match_test "GET_MODE (op) == mode")))
-;; TODO: Add a comment here.
+;; Return 1 of OP is an address suitable for a cache manipulation operation.
+;; MODE has the meaning as in address_operand.
-(define_predicate "cache_address_operand"
+(define_special_predicate "cache_address_operand"
(match_code "plus,reg")
{
if (GET_CODE (op) == PLUS)
@@ -749,9 +750,9 @@ (define_special_predicate "trunc_hi_oper
return extend_reg_operand (op, mode);
})
-;; TODO: Add a comment here.
+;; Return 1 of OP is an address suitable for an unaligned access instruction.
-(define_predicate "ua_address_operand"
+(define_special_predicate "ua_address_operand"
(match_code "subreg,reg,plus")
{
if (GET_CODE (op) == PLUS