RFR: 8304258: x86: Improve the code generation of VectorRearrange with int and float [v2]
Jatin Bhateja
jbhateja at openjdk.org
Fri Mar 24 04:18:30 UTC 2023
On Thu, 23 Mar 2023 18:29:58 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:
>> src/hotspot/cpu/x86/x86.ad line 8645:
>>
>>> 8643: int vlen_enc = vector_length_encoding(this);
>>> 8644: if (vlen_enc == Assembler::AVX_128bit) {
>>> 8645: __ vpermilps($dst$$XMMRegister, $src$$XMMRegister, $shuffle$$XMMRegister, vlen_enc);
>>
>> Since you are emitting different instruction to save on domain switch over penalty for > 128 bit vectors, same can be done for 128 bit vectors also, you may use vpshufd for integers.
>
> I think `vpshufd` does not support variable indices so we can only use `vpermilps` here
Correct. Thanks
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13042#discussion_r1147100978
More information about the hotspot-compiler-dev
mailing list