RFR: 8346038: [REDO] - [C1] LIR Operations with one input should be implemented as LIR_Op1

Martin Doerr mdoerr at openjdk.org
Mon Jan 13 13:20:49 UTC 2025


On Thu, 2 Jan 2025 18:11:59 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

>> @TheRealMDoerr The only problem arises when higher bank register (xmm16 and above) is used. For higher bank registers we need to use AVX512 instructions and KNL doesn't support variable vector length for AVX512 (i.e. it doesn't support avx512vl). So  under those circumstances these instructions should use 512 bit vector length. Please find below a patch which could do that:
>> [masm.patch](https://github.com/user-attachments/files/18282922/masm.patch)
>
>> @sviswa7: Thank you so much for your assistance. I have applied your proposal with Commit number 4. I think your patch missed some "else" statements. I've used the same condition `(!VM_Version::supports_avx512dq() || !VM_Version::supports_avx512vl())` for all. Please take a look and check if that makes sense: [643b010](https://github.com/openjdk/jdk/commit/643b0109e9aeb966a11fce76dff39ab052aa76c4)
> 
> Yes, "else" was missing. Rest of your changes look good, I have only one comment above. Please take a look.

@sviswa7: Can you approve this PR or ask one of your colleagues to review the x86_64 code, please?
The original change (1st commit) was already reviewed by @rrich and @goetz.

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

PR Comment: https://git.openjdk.org/jdk/pull/22709#issuecomment-2587082544


More information about the hotspot-compiler-dev mailing list