RFR: 8262989: Vectorize VectorShuffle checkIndexes, wrapIndexes and laneIsValid methods
Paul Sandoz
psandoz at openjdk.java.net
Thu Mar 4 18:57:41 UTC 2021
On Thu, 4 Mar 2021 18:45:27 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
>> Looks good, a nice incremental improvement.
>>
>> I suppose `checkIndexes` and `wrapIndexes` could call `laneIsValid`, and then call `anyFalse` on the resulting mask. Dunno if that would affect the generated code.
>
> Calling laneIsValid from checkIndexes and wrapIndexes would look like as below:
> VectorMask<E> vecmask = this.laneIsValid();
> if (!vecmask.allTrue()) {
> I observe a small overhead (~2%) due to couple of extra instructions generated for allTrue.
Ok, I mistakenly thought there was a method `Vector.anyFalse`!
-------------
PR: https://git.openjdk.java.net/jdk/pull/2819
More information about the core-libs-dev
mailing list