This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc
- From: "paolo dot bonzini at lu dot unisi dot ch" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Oct 2006 05:20:57 -0000
- Subject: [Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc
- References: <bug-28690-5233@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #18 from paolo dot bonzini at lu dot unisi dot ch 2006-10-03 05:20 -------
Subject: Re: [4.2 Regression] Performace problem with
indexed load/stores on powerpc
> * rtlanal.c (swap_commutative_operands_p): Preference a REG_POINTER
> over a non REG_POINTER.
> * tree-ssa-address.c (gen_addr_rtx): Force a REG_POINTER to be
> the first operand of a PLUS.
This is more gentle indeed. Be careful however as functions calling
commutative_operand_precedence directly may have a problem with that.
Can you try making an address illegitimate if it is non-REG_POINTER +
REG_POINTER? Or set up splitters to do the transformation just before
reload?
Paolo
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28690