This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH,rs6000] Add option to avoid generation of indexed load/store instructions
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Pat Haugen <pthaugen at us dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org, David Edelsohn <edelsohn at us dot ibm dot com>
- Date: Sun, 25 Jan 2009 18:40:48 +0100
- Subject: Re: [PATCH,rs6000] Add option to avoid generation of indexed load/store instructions
- References: <OF355C05FF.D117F9A2-ON86257549.005F0E59-86257549.0060D2D0@us.ibm.com>
On Sun, Jan 25, 2009 at 6:37 PM, Pat Haugen <pthaugen@us.ibm.com> wrote:
>
> The following patch adds a new option, -mavoid-xform, to avoid generation
> of indexed load/store instructions when possible. Enabling this option on
> Power6 has shown some significant improvement on certain benchmarks (lucas,
> stream, PTRANS), while at the same time only introducing some minor
> improvements/degradations on the other spec benchmarks.
>
> Bootstrapped and regression tested on powerpc64-linux with no new errors
> when the option is not enabled. With the option enabled there is one new
> failure, gcc.dg/tree-ssa/loop-19.c, which would be expected since that test
> is looking for indexed load/store patterns.
>
> OK for trunk?
The changelog (maybe also the patch) misses documentation for this
new option. If this doesn't fix a regression you may want to delay this
until stage1, but of course target maintainers can decide otherwise here.
Thanks,
Richard.
> -Pat
>
>
> 2009-01-25 Pat Haugen <pthaugen@us.ibm.com>
>
> * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p):
> Declare.
> * config/rs6000/rs6000.opt (avoid-xform): New option.
> * config/rs6000/rs6000.c (rs6000_override_options): Default
> avoid-xform
> on for Power6, off for everything else.
> (avoiding_indexed_address_p): New function.
> (rs6000_legitimize_address): Use it.
> (rs6000_legitimate_address): Likewise.
> * config/rs6000/rs6000.md (movXX_updateX): Likewise
>
> (See attached file: avoid_xform.diff)