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

Pat Haugen pthaugen@us.ibm.com
Sun Jan 25 17:41:00 GMT 2009

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?


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

      * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p):
      * config/rs6000/rs6000.opt (avoid-xform): New option.
      * config/rs6000/rs6000.c (rs6000_override_options): Default
      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)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: avoid_xform.diff
Type: application/octet-stream
Size: 11443 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20090125/1b1a4763/attachment.obj>

More information about the Gcc-patches mailing list