[vectorIntrinsics] RFR: 8283413: Add C2 mid-end and x86 back-end implementation for bit REVERSE and REVERSE_BYTES operation [v3]
Quan Anh Mai
duke at openjdk.java.net
Sat Mar 26 13:23:12 UTC 2022
On Thu, 24 Mar 2022 08:16:34 GMT, Quan Anh Mai <duke at openjdk.java.net> wrote:
>> Jatin Bhateja has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
>>
>> - 8283413: White space removal.
>> - 8283413: Review comments resoultion, ReverseBytes IR and x86 backend support.
>> - Merge branch 'vectorIntrinsics' of http://github.com/openjdk/panama-vector into JDK-8283413
>> - 8283413: Adding Ideal transform for (ReverseV (ReverseV VEC)) => VEC and (ReverseV (ReverseV VEC MASK) MASK)) => VEC
>> - 8283413: Add C2 mid-end and x86 back-end implementation for bit REVERSE operation
>
> src/hotspot/cpu/x86/x86.ad line 8982:
>
>> 8980:
>> 8981: // -------------------------------- Bit and Byte Reversal Vector Operations ------------------------
>> 8982: instruct vreverse_reg_avx(vec dst, vec src, vec xtmp1, vec xtmp2, vec xtmp3, rRegI rtmp) %{
>
> This should be `legVec` as this relies on the AVX encoding
I misremembered the vector operand declaration, please ignore this.
> src/hotspot/cpu/x86/x86.ad line 9026:
>
>> 9024:
>> 9025: instruct vreverse_byte_reg(vec dst, vec src, rRegI rtmp) %{
>> 9026: predicate(VM_Version::supports_avx512bw() || Matcher::vector_length_in_bytes(n) < 64);
>
> For `!VM_Version::supports_avx512bw` this needs `legVec`
And this, too. Thanks.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/182
More information about the panama-dev
mailing list