On Wed, 20 May 2026 08:44:53 GMT, Aleksey Shipilev <[email protected]> wrote:
>> Volodymyr Paprotski has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> second round of review from Sandhya
>
> src/hotspot/cpu/x86/stubGenerator_x86_64_sha3.cpp line 580:
>
>> 578: // Zero out zmm0-zmm31.
>> 579: __ vzeroall();
>> 580: for (XMMRegister rxmm = xmm16; vector_len == Assembler::AVX_512bit &&
>> rxmm->is_valid(); rxmm = rxmm->successor()) {
>
> The loop predicate checks for `vector_len == AVX_512bit`, but is it ever set
> to that value? I see only sets to `128` and `256`. So this loop looks
> effectively dead?
Yes, even though `A16 - A24` are set, these registers will never be cleared
given that the single and double paths have set `vector_len` to `AVX_128bit`
and `AVX_256bit`, respectively.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/31125#discussion_r3277697928