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: [GCC RFC]A new and simple pass merging paired load store instructions


On May 15, 2014, at 1:01 PM, Jeff Law <law@redhat.com> wrote:
> For the memory optimizations, IIRC, the dependencies keep them from getting into the ready queue at the same time.  Thus it's significantly harder to get them to issue consecutively when you've got an issue rate > 1.

> But if you've got an issue rate > 1, then it's a lot less likely you'll get the store/load pairing up the way you want.

Ah, yeah, on second thought, that won’t work if they are not ready together…

I sort the ready queue:

first ready set:
load
store
everything else

next ready set:
load store
everything else

Now, it might work, if there are no other instructions and no loads in the next set, and so on, but that would be an accident.  The utility is only in instructions that are ready together, though, tick boundaries and issue rates don’t matter any, as I don’t care about ticks or issue rates.  The only consideration on order is my ordering operator and once ordered, the target is free to combine as it sees fit.  So, for store load optimization, my patch is rather useless.

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