RFR: 8284813: x86 Code cleanup related to move instructions. [v2]

Sandhya Viswanathan sviswanathan at openjdk.java.net
Wed May 4 20:23:16 UTC 2022


On Wed, 4 May 2022 18:57:07 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> src/hotspot/cpu/x86/assembler_x86.cpp line 3032:
>> 
>>> 3030:     attributes.reset_is_clear_context();
>>> 3031:   }
>>> 3032:   int encode = vex_prefix_and_encode(dst->encoding(), 0, src->encoding(), VEX_SIMD_F2, VEX_OPCODE_0F, &attributes);
>> 
>> The existing version (with no mask) was using VEX_SIMD_F2 or VEX_SIMD_F3 based on  avx512bw supported or not. With this change now the calling place need to be fixed. One place I see this being used is loadIotaIndices(). Please fix loadIotaIndices to use appropriate instruction for the platform. Is there any other place in array copy/clear?
>
> vector load operations in load_iota_indices are sensitive to vector length, a 64 byte iota values are loaded only for ByteVector.SPECIES_512 which necessitates existence of AVX512BW feature, I re-checked that copy/fill kernels  use appropriate instructions.

Thanks for checking.

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

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


More information about the hotspot-compiler-dev mailing list