RFR: 8296168: x86: Add reasonable constraints between AVX and SSE
Claes Redestad
redestad at openjdk.org
Wed Nov 2 21:39:25 UTC 2022
On Wed, 2 Nov 2022 17:20:03 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> We've not seen any x86 CPU, Intel or otherwise, where AVX features are available but SSE 4.1 is not supported. This patch suggests constraining setup so that any explicit value of UseSSE less than 4 (the default on any AVX-supporting CPU) implicitly disables AVX. This simplifies ergonomics and reduces the testing surface. Concretely this would allow #10847 to not have to guard the new intrinsic on UseSSE level to avoid some surprising test failures in tests verifying SSE-enabled intrinsics.
>>
>> I've rearranged the initialization of UseAVX and UseSSE to allow AVX to look at the post-ergo values of UseSSE.
>>
>> Testing: tier1-tier3, manual verification
>
> src/hotspot/cpu/x86/vm_version_x86.cpp line 941:
>
>> 939: }
>> 940: FLAG_SET_DEFAULT(UseAVX, use_avx_limit);
>> 941: } else if (UseAVX < 0) {
>
> `UseAVX < 0` check can also be cleaned up.
Right, the flag range predicate check precedes this code, thus UseAVX < 0 is impossible and this code can be removed.
-------------
PR: https://git.openjdk.org/jdk/pull/10946
More information about the hotspot-compiler-dev
mailing list