[PATCH,rs6000] Add option to avoid generation of indexed load/store instructions
Mon Jan 26 14:41:00 GMT 2009
On Mon, 2009-01-26 at 13:52 +0100, Paolo Bonzini wrote:
> Richard Guenther wrote:
> > On Sun, Jan 25, 2009 at 6:37 PM, Pat Haugen <firstname.lastname@example.org> 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?
> Is this related to PR28690?
Kind of, in that both deal with performance problems due to indexed load
and store instructions. PR28690 was about getting the operand order correct
(address value in first reg and offset value in the second reg).
This patch is dealing with performance problems even when we have the
operand order correct, but due to specific values in the registers
(the offset value causes the effective address to cross a 16M boundary)
we still end up with a performance penalty. Therefore, we'd like an
option where we can completely disable generation of the indexed ops.
More information about the Gcc-patches