[PATCH] D46662: [X86] condition branches folding for three-way conditional codes
Andrea Di Biagio via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 25 14:43:42 PDT 2019
andreadb added a comment.
Herald added a subscriber: jdoerfert.
Herald added a project: LLVM.
In D46662#1293043 <https://reviews.llvm.org/D46662#1293043>, @lebedev.ri wrote:
> In D46662#1246810 <https://reviews.llvm.org/D46662#1246810>, @andreadb wrote:
>
> > In D46662#1246781 <https://reviews.llvm.org/D46662#1246781>, @xur wrote:
> >
> > > Hi Andrea,
> > >
> > > Thanks for running this test, and the explanation. Can you run the tests
> > > on Bulldozer/Ryzen? I don't have access to these platforms. If I need to do
> > > this in subtarget way, it would be good to know the performance there.
> >
> >
> > CC'ing @lebedev.ri and @GGanesh.
> > They should be able to help you with running those tests on Bulldozer/Ryzen. Unfortunately, I don't have access to those machines.
>
>
> I *think* this should be fine on bdver2, as per https://www.agner.org/optimize/microarchitecture.pdf:
>
> 19.15 Branches and loops
> The branch prediction mechanism is described on page 34. There is no longer any
> restriction on the number of branches per 16 bytes of code that can be predicted efficiently.
> The misprediction penalty is quite high because of a long pipeline.
>
>
>
>
> In D46662#1246550 <https://reviews.llvm.org/D46662#1246550>, @andreadb wrote:
>
> > ...
> > Bench: 4evencases.cc
> > ...
> > Bench: 15evencases.cc
> > ...
> > I wouldn't be surprised if instead this patch improves the performance of code on other big AMD cores like Bulldozer/ryzen.
>
>
> Are these benchmarks available from somewhere? Can i run them
Sorry Roman,
I completely missed that comment.
Those two benchmarks were attached by Xur to this code review.
You should be able to see the attachments if you expand the “Show Older Changes” section (there is a link at the top of this review).
One of his posts has got 3 attachments. Two of these files are the benchmarks to run.
I hope it helps.
>
>
>> -Andrea
>
> Roman
In D46662#1293043 <https://reviews.llvm.org/D46662#1293043>, @lebedev.ri wrote:
> In D46662#1246810 <https://reviews.llvm.org/D46662#1246810>, @andreadb wrote:
>
> > In D46662#1246781 <https://reviews.llvm.org/D46662#1246781>, @xur wrote:
> >
> > > Hi Andrea,
> > >
> > > Thanks for running this test, and the explanation. Can you run the tests
> > > on Bulldozer/Ryzen? I don't have access to these platforms. If I need to do
> > > this in subtarget way, it would be good to know the performance there.
> >
> >
> > CC'ing @lebedev.ri and @GGanesh.
> > They should be able to help you with running those tests on Bulldozer/Ryzen. Unfortunately, I don't have access to those machines.
>
>
> I *think* this should be fine on bdver2, as per https://www.agner.org/optimize/microarchitecture.pdf:
>
> 19.15 Branches and loops
> The branch prediction mechanism is described on page 34. There is no longer any
> restriction on the number of branches per 16 bytes of code that can be predicted efficiently.
> The misprediction penalty is quite high because of a long pipeline.
>
>
>
>
> In D46662#1246550 <https://reviews.llvm.org/D46662#1246550>, @andreadb wrote:
>
> > ...
> > Bench: 4evencases.cc
> > ...
> > Bench: 15evencases.cc
> > ...
> > I wouldn't be surprised if instead this patch improves the performance of code on other big AMD cores like Bulldozer/ryzen.
>
>
> Are these benchmarks available from somewhere? Can i run them somehow?
>
> > -Andrea
>
> Roman
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D46662/new/
https://reviews.llvm.org/D46662
More information about the llvm-commits
mailing list