RFR: 8352675: Support Intel AVX10 converged vector ISA feature detection [v9]

Jatin Bhateja jbhateja at openjdk.org
Sat May 3 07:32:47 UTC 2025


On Fri, 2 May 2025 20:47:01 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

>> Jatin Bhateja has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:
>> 
>>   Refactoring code to create a seperate VM_Features class
>
> src/hotspot/cpu/x86/vm_version_x86.cpp line 464:
> 
>> 462:     __ movl(rcx, 0x18000000); // cpuid1 bits osxsave | avx
>> 463:     __ andl(rcx, Address(rsi, 8)); // cpuid1 bits osxsave | avx
>> 464:     __ jccb(Assembler::equal, done); // jump if AVX is not supported
> 
> This doesn't not have same effect as before. Consider input is 0x10000000, the andl result will not be zero with this code and so jump to done will not happen. Whereas prior to this change, the cmpl with 0x18000000 will fail for equality and so a jump to done will happen.  This is the case for all the places where we are checking more than 1 set bit.

Thanks @sviswa7 , sub-optimality was mainly around single-bit comparisons, where we could save redundant CMP after AND, and by flipping the predicate of subsequent flag-consuming JMP,  multibits compares should remain unaltered.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24329#discussion_r2072341101


More information about the graal-dev mailing list