RFR: 8162865 Implementation of SPARC lzcnt
vladimir.kozlov at oracle.com
Tue Nov 22 20:04:09 UTC 2016
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.
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).
More information about the hotspot-dev