Yes, I agree with you, especially on IA32 which does not have much registers. So could I have a conclusion here. The branchless code is suitable for the stub call where there is no register pressure, but not suitable for lithium. Right?
On Tue, Aug 6, 2013 at 10:13 PM, Sven Panne <[email protected]> wrote: > On Tue, Aug 6, 2013 at 3:05 PM, <[email protected]> wrote: > >> On 2013/08/06 12:56:17, Jakob wrote: >> >>> Unifying lithium codegen and the stub sounds reasonable. Maybe you can >>> do a >>> microbenchmark to figure out whether the branchless stub code or the >>> >> conditional >> >>> "neg" in lithium is faster in practice. >>> >> > If I understand things correctly, we are talking about bit twiddling hacks > like http://graphics.stanford.edu/~seander/bithacks.html#IntegerAbs here. > A microbenchmark is totally useless, because it doesn't show the higher > register pressure due to the additional register needed. > > >> Actually I did an experiment before. The branchless stub code was faster >> than >> the conditional "neg". One of my previous idea is to port branchless code >> to >> lithium. The issue is that LMathAbs only has one available register. To >> use the >> branchless code, you need to change the LMathAbs instruction to assign a >> temporary register. > > > I am not really convinced that trading a branch for an additional register > is the right thing to do, my gut feeling is quite the opposite: Better use > a branch than wasting a register. > > -- > -- > v8-dev mailing list > [email protected] > http://groups.google.com/group/v8-dev > --- > You received this message because you are subscribed to the Google Groups > "v8-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Thanks -Weiliang -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
