[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