RFR: 8358592: Assert in Assembler::ptest due to missing SSE42 support [v3]

Guanqiang Han duke at openjdk.org
Wed Jul 9 06:17:59 UTC 2025


> Setting "-XX:UseSSE=1" in command line prevents the code from entering the block shown below, which causes UseSSE42Intrinsics to not be correctly set. Because supports_sse3() return false.
> ![图片1](https://github.com/user-attachments/assets/d3cdb1fe-f0e0-41dc-98c9-4427eaffdb0e)
> in addition , setting "-XX:+UseSSE42Intrinsics" in command line set UseVectorizedMismatchIntrinsic to True shown below.
> ![图片2](https://github.com/user-attachments/assets/bbe623a3-453a-483d-b34c-1cdb394f2d4e)
> The above code causes the ptest instruction to be invoked.
> The assertion "assert(VM_Version::supports_sse4_1() || VM_Version::supports_avx(), "")" in ptest was triggered and caused the crash because of the following reason:
> Setting "-XX:UseSSE=1" in command line  cause "CPU_SSE4_1" was cleared and cause "VM_Version::supports_sse4_1()" return false ,related code as below:
> ![图片3](https://github.com/user-attachments/assets/e9a8a690-dd4d-4216-b09f-be8439a9a73b)
> Setting "-XX:UseSSE=1" in command line  cause "UseAVX=0" and cause "VM_Version::supports_avx()" return false ,related code as below:
> ![image](https://github.com/user-attachments/assets/6d9e770b-0a7a-43cd-a4bc-d15247f6478e)
> all of these above cause this issue.
> i fix this issue by correcting UseSSE42Intrinsics to false when "UseSSE" in command line was set to 1, so that UseVectorizedMismatchIntrinsic will be set false and ptest was not triggered.

Guanqiang Han has updated the pull request incrementally with one additional commit since the last revision:

  Update Test8358592.java
  
  run on x86_64

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/26151/files
  - new: https://git.openjdk.org/jdk/pull/26151/files/0684264c..1fe904db

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26151&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26151&range=01-02

  Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/26151.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26151/head:pull/26151

PR: https://git.openjdk.org/jdk/pull/26151


More information about the hotspot-dev mailing list