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