This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH,rs6000] Add option to avoid generation of indexed load/store instructions


janis187@linux.vnet.ibm.com wrote on 01/26/2009 12:20:21 PM:

> On Mon, 2009-01-26 at 11:21 -0600, Pat Haugen 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 patch should include one or more tests to show that the option
> has the desired effect.


New version, with testcase.


2009-01-26  Pat Haugen  <pthaugen@us.ibm.com>

      * doc/invoke.texi (avoid-indexed-addresses): Document new option.
      * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p):
Declare.
      * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
      * config/rs6000/rs6000.c (rs6000_override_options): Default
      avoid-indexed-addresses 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


testsuite/ChangeLog:

2009-01-26  Pat Haugen  <pthaugen@us.ibm.com>

      * gcc.target/powerpc/avoid-indexed-addresses.c: New test.

(See attached file: avoid_xform.diff)

Attachment: avoid_xform.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]