Hi Jan,
On 5/31/19 10:53 AM, Jan Beulich wrote:
According to Linux commit e75bef2a4f ("arm64: Select
ARCH_HAS_FAST_MULTIPLIER") this is a further improvement over the
variant using only bitwise operations on at least some hardware, and no
worse on other.
Suggested-by: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Jan Beulich <jbeul...@suse.com>
---
RFC: To be honest I'm not fully convinced this is a win in particular in
the hweight32() case, as there's no actual shift insn which gets
replaced by the multiplication. Even for hweight64() the compiler
could emit better code and avoid the explicit shift by 32 (which it
emits at least for me).
I can see multiplication instruction used in both hweight32() and
hweight64() with the compiler I am using.
I would expect the compiler could easily replace a multiply by a series
of shift but it would be more difficult to do the invert.
Also, this has been in Linux for a year now, so I am assuming Linux
folks are happy with changes (CCing Robin just in case I missed
anything). Therefore I am happy to give it a go on Xen as well.
Cheers,
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -12,6 +12,7 @@ config ARM_32
config ARM_64
def_bool y
depends on 64BIT
+ select HAS_FAST_MULTIPLY
config ARM
def_bool y
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel