[Vector API] Question about SPECIES_64 for DoubleVector and LongVector

Paul Sandoz paul.sandoz at oracle.com
Mon Feb 22 20:13:24 UTC 2021

Hi Jie,

I think they are there in part for uniformity, and in part because it was marginally easier to include them rather than exclude them. Algorithmically they might prove useful if operating generically over species. IMHO it's too early to decide that we don’t need ‘em. Since we are incubating we have flexibility to decide later on.

Ideally they should just map to the appropriate non-vector hardware register with scalar instructions. An argument for removal could be that there is a higher cost to optimally support them.


> On Feb 19, 2021, at 12:35 AM, jiefu(傅杰) <jiefu at tencent.com> wrote:
> Hi all,
> According to the JVM specification, both double and long are 64-bit.
> So Double64Vector and Long64Vector are vectors which contain just 1 lane only.
> But none of the 1-lane vectors would be get vectorized in HotSpot.
> People who use Double64Vector and Long64Vector may encounter performance drop of their programs.
> I didn't see any benefit of SPECIES_64 for DoubleVector and LongVector.
> So why we provide them for programmers?
> Thanks.
> Best regards,
> Jie

More information about the panama-dev mailing list