RFR: 8320206: Some intrinsics/stubs missing vzeroupper on x86_64
Sandhya Viswanathan
sviswanathan at openjdk.org
Thu Nov 16 00:51:31 UTC 2023
On Thu, 16 Nov 2023 00:07:13 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> The following intrinsics/stubs are missing vzeroupper:
>> adler32 (since JDK17)
>> count_positives (since JDK 9)
>> chacha20 (since JDK 20)
>> string indexOfChar (since JDK 9)
>>
>> Adding the missing vzeroupper to avoid AVX-SSE transition penalties.
>
> @sviswa7 can you remind me where SSE instructions are used which need `vzeroupper`: intrinsics or code which calls it? I thought we replaced almost all places to use new instructions even for scalar operations in code. And almost all intrinsics have AVX variant.
> So which transition we are guarding with `vzeroupper`?
@vnkozlov It is the jitted code to jvm transitions (GC etc) that we are trying to guard. The JVM itself is compiled with base SSE2 as target for 64 bit platforms.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16678#issuecomment-1813530674
More information about the hotspot-compiler-dev
mailing list