This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[DATAFLOW] Handle PRE_MODIFY addresses in lwa_operand
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 07 Dec 2006 09:17:21 -0500
- Subject: [DATAFLOW] Handle PRE_MODIFY addresses in lwa_operand
The dataflow branch's improvements to auto-increment addressing
adds support for PRE_MODIFY addresses on PowerPC. The architecture does
not support the constant form of update for sign-extended loads. The
predicate for the pattern was missing the PRE_MODIFY case and the appended
patch adds that support.
Bootstrapped on powerpc64-linux and committed to dataflow branch.
David
* config/rs6000/predicates.md (lwa_operand): Exclude PRE_MODIFY
addresses.
Index: predicates.md
===================================================================
--- predicates.md (revision 119620)
+++ predicates.md (working copy)
@@ -652,6 +652,7 @@
|| (memory_operand (inner, mode)
&& GET_CODE (XEXP (inner, 0)) != PRE_INC
&& GET_CODE (XEXP (inner, 0)) != PRE_DEC
+ && GET_CODE (XEXP (inner, 0)) != PRE_MODIFY
&& (GET_CODE (XEXP (inner, 0)) != PLUS
|| GET_CODE (XEXP (XEXP (inner, 0), 1)) != CONST_INT
|| INTVAL (XEXP (XEXP (inner, 0), 1)) % 4 == 0));