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] |
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? -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)
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] |