On Mon, 15 Jan 2024 14:36:38 GMT, Emanuel Peter <epe...@openjdk.org> wrote:

>> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 1776:
>> 
>>> 1774:     for (int i = 0; i < 4; i++) {
>>> 1775:       movl(rtmp, Address(idx_base, i * 4));
>>> 1776:       addl(rtmp, offset);
>> 
>> Can the `offset` not be added to `idx_base` before the loop?
>
> Or would that require too many registers?

> Can the `offset` not be added to `idx_base` before the loop?

Offset needs to be added to each index element, please refer to API 
specification for details.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.incubator.vector/jdk/incubator/vector/ShortVector.html#fromArray(jdk.incubator.vector.VectorSpecies,short[],int,int[],int)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16354#discussion_r1452964002

Reply via email to