RFR: 8162865 Implementation of SPARC lzcnt
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Nov 22 20:04:09 UTC 2016
Hi Trevor
Do you have performance numbers?
UseVIS is too wide flag to control only these instructions generation.
To be consistent with x86 code please add
UseCountLeadingZerosInstruction flag to globals_sparc.hpp and its
setting in vm_version_sparc.cpp (based on has_vis3()) similar to what is
done for x86.
May be name new instructions *ZerosIvis instead of *ZerosI1 to be clear
that VIS is used.
Indention in the new test is all over place. Please, fix.
Thanks,
Vladimir
On 11/15/16 3:57 AM, Trevor Watson wrote:
> I have implemented the code to use the lzcnt instruction for both
> integer and long countLeadingZeros() methods on SPARC platforms
> supporting the vis3 instruction set.
>
> Current "bmi" tests for the above are updated so that they run on both
> SPARC and x86 platforms.
>
> I've also implemented a test to ensure that Integer.countLeadingZeros()
> and Long.countLeadingZeros() return the correct values when C2 runs.
> This test is currently under the intrinsics "bmi" tests for want of
> somewhere better (they do apply to both SPARC and x86 though).
>
> http://cr.openjdk.java.net/~alanbur/8162865/
>
> Thanks,
> Trevor
More information about the hotspot-dev
mailing list