[vectorIntrinsics] RFR: 8283598: [vectorapi] Add new vector operation for compress bits
Paul Sandoz
psandoz at openjdk.java.net
Mon Mar 28 22:47:10 UTC 2022
On Mon, 28 Mar 2022 21:10:50 GMT, Paul Sandoz <psandoz at openjdk.org> wrote:
>> src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java line 451:
>>
>>> 449: * Henry S. Warren, Jr's Hackers Delight, Addison Wesley, 2002.
>>> 450: */
>>> 451: static byte compressBits(byte a, byte bitmask) {
>>
>> According to the 4th incubation(https://bugs.openjdk.java.net/browse/JDK-8280173), the `compress bit` should be similar to `vector mask compress`(CompressM). As per my understanding, the second argument `bitmask` should be an all true mask here. If so, it also can be removed.
>
> I think i mistook the intended implementation when writing the JEP.
>
> Since there is no scalar equivalent the operation is currently under specified, and in this case I think the expand operation also makes sense so `compress(expand(x, m), m) = x`
Just talked with @sviswa7. I will update the JEP. Also, i will follow up on scalar integral implementations for compress/expand bits, where the `Byte`/`Short` implementations defer to that on `Integer`. Intrinsic scalar implementations can be implemented afterwards.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/184
More information about the panama-dev
mailing list