RFR: 8271366: [REDO] JDK-8266054 VectorAPI rotate operation optimization [v2]

Jatin Bhateja jbhateja at openjdk.java.net
Fri Jul 30 18:56:33 UTC 2021


On Fri, 30 Jul 2021 18:29:40 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> src/hotspot/share/opto/vectornode.cpp line 311:
>> 
>>> 309:   // If target does not support variable shift operations then no point
>>> 310:   // in creating a rotate vector node since it will not be disintegratable.
>>> 311:   int has_scalar_shift = n->in(2)->Opcode() != Op_LoadI;
>> 
>> Why is this decision not made on type but opcode? Are we sure that the Opcode will be Op_LoadI from all paths?
>
> Type will be an integer always since scalar rotation APIs accept only integral shits.

This method enable SLP to validate if an operation is vectorizable, LoadI is a load from a memory and contiguous locations will eventually be packed as a LoadVector.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4924


More information about the hotspot-compiler-dev mailing list