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] |
On 15 September 2017 at 22:09, Marc Glisse <marc.glisse@inria.fr> wrote: > On Fri, 15 Sep 2017, Wilco Dijkstra wrote: > >> Marc Glisse wrote: >> >>> The question is whether, having computed c=a/b, it is cheaper to test a<b >>> or c!=0. >>> I think it is usually the second one, but not for all types on all >>> targets. Although since >>> you mention VRP, it is easier to do further optimizations using the >>> information a<b. >> >> >> No, a<b is always better. Division does have high latency and low >> throughput on >> all modern cores, so rather than having to wait until the division >> finishes, you can >> execute whatever depends on the comparison many cycles earlier. >> >> Generally you want to avoid division as much as possible and when that >> fails >> reduce any dependencies on the result of divisions. > > > This would indicate that we do not need to check for single-use, makes the > patch simpler, thanks. > (let's ignore -Os) Hi, Thanks for the suggestions, I have updated the patch. Is this OK ? Bootstrap+test in progress on x86_64-unknown-linux-gnu. I will try address the right shift by 4 case in follow up patch. Thanks, Prathamesh > > -- > Marc Glisse
Attachment:
unsigned-div-to-cmp-2.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |