|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/4] ARM/div: Drop __div64_fls()
On 02/09/2024 12:03, Andrew Cooper wrote:
>
>
> Following the improvements to Xen's bitops, fls() does constant propagation in
> all cases. Use it, and drop the local opencoded helper.
>
> No functional change.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Michal Orzel <michal.orzel@xxxxxxx>
> ---
> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> CC: Julien Grall <julien@xxxxxxx>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
> CC: Bertrand Marquis <bertrand.marquis@xxxxxxx>
> CC: Michal Orzel <michal.orzel@xxxxxxx>
>
> ARM32 gets a very minor code generation improvement:
>
> xen.git/xen$ ../scripts/bloat-o-meter xen-syms-arm32-{before,after}
> add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-48 (-48)
> Function old new delta
> wallclock_time 288 280 -8
> printk_start_of_line 560 552 -8
> domain_vtimer_init 472 464 -8
> do_settime 376 368 -8
> burn_credits 760 752 -8
> __printk_ratelimit 424 416 -8
>
> But it's just a couple of operations improvement and no real change in code
> structure. I expect that the constant propagation being done through
> __builtin_clz(), rather than pure C, is giving the optimiser a bit more
> information to work with.
>
> This file also has an __GNUC__ < 4 case which seems ripe for removing...
Agree and noted.
~Michal
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |