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: [PING][PATCH][REVISED] Fix PR middle-end/PR28690, modify swap_commutative_operands_p


On Tue, 2007-06-26 at 16:27 -0700, Ian Lance Taylor wrote:
> Peter's patch referenced above looks OK to me, and I'm inclined to
> approve it.  But some of these numbers do look troubling.  Why do we
> get such large swings in some of the benchmarks?

Well, we mentioned one reason we saw in:

  http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00808.html

which was loop alignment related when x86_64's ".p2align 4,,7" isn't
able to align the loop to what we asked for.  In that case, it's just
luck or bad luck on what alignment we end up with.  In this case, it
looks like HJ used his r125920 patch which should have helped some here,
but given his change only allows skipping up to 10 bytes now, there
might still be cases where we don't get the alignment we want.

I'm not sure about x86/x86_64 hardware, but on POWER, two identical
loops that have the same alignment in the lowest nibble of their
addresses can still have performance differences depending on where
they show up in the cache line/cache line sector.

HJ, can you send the binaries for 436.cactusADM, 454.calculix and
200.sixtrack to Pat and I and we'll try and track down exactly why
they're slowing down when he gets back from vacation later this week.


Peter





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